From 8052ed3cbc4e653357852d7bd10d1d216301f1c4 Mon Sep 17 00:00:00 2001 From: Boof <97455552+hexahigh@users.noreply.github.com> Date: Mon, 14 Nov 2022 10:32:27 +0100 Subject: [PATCH] added black hole raytrace --- .../05a9c5219da4e946f6787243d9bc1952.svg | 1 + .../0c3672b5bec4b8bd2e62b0d14b4adf55.png | Bin 0 -> 147349 bytes .../83a9787d4cb6f3b7632b4ddfebf74367.wav | Bin 0 -> 560 bytes .../cd21514d0531fdffb22204e0ec5ed84a.svg | 3 + .../Black hole raytracing/assets/project.json | 1 + Games/Black hole raytracing/index.html | 384 ++++++++++++++++++ Games/Black hole raytracing/script.js | 73 ++++ Games/index.html | 3 +- 8 files changed, 464 insertions(+), 1 deletion(-) create mode 100644 Games/Black hole raytracing/assets/05a9c5219da4e946f6787243d9bc1952.svg create mode 100644 Games/Black hole raytracing/assets/0c3672b5bec4b8bd2e62b0d14b4adf55.png create mode 100644 Games/Black hole raytracing/assets/83a9787d4cb6f3b7632b4ddfebf74367.wav create mode 100644 Games/Black hole raytracing/assets/cd21514d0531fdffb22204e0ec5ed84a.svg create mode 100644 Games/Black hole raytracing/assets/project.json create mode 100644 Games/Black hole raytracing/index.html create mode 100644 Games/Black hole raytracing/script.js diff --git a/Games/Black hole raytracing/assets/05a9c5219da4e946f6787243d9bc1952.svg b/Games/Black hole raytracing/assets/05a9c5219da4e946f6787243d9bc1952.svg new file mode 100644 index 0000000..5b1e4af --- /dev/null +++ b/Games/Black hole raytracing/assets/05a9c5219da4e946f6787243d9bc1952.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Games/Black hole raytracing/assets/0c3672b5bec4b8bd2e62b0d14b4adf55.png b/Games/Black hole raytracing/assets/0c3672b5bec4b8bd2e62b0d14b4adf55.png new file mode 100644 index 0000000000000000000000000000000000000000..380347cace4446c271d9081cb78233fa9b288346 GIT binary patch literal 147349 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

{BvsJI8uRjf}dbRd;4%vV#e>2v?7O( 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 literal 0 HcmV?d00001 diff --git a/Games/Black hole raytracing/assets/cd21514d0531fdffb22204e0ec5ed84a.svg b/Games/Black hole raytracing/assets/cd21514d0531fdffb22204e0ec5ed84a.svg new file mode 100644 index 0000000..15f7311 --- /dev/null +++ b/Games/Black hole raytracing/assets/cd21514d0531fdffb22204e0ec5ed84a.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Games/Black hole raytracing/assets/project.json b/Games/Black hole raytracing/assets/project.json new file mode 100644 index 0000000..e2e5c50 --- /dev/null +++ b/Games/Black hole raytracing/assets/project.json @@ -0,0 +1 @@ +{"targets":[{"isStage":true,"name":"Stage","variables":{"b":["vx",-0.01645722142606425],"c":["vy",-0.09707180436966549],"f":["vz",0.9951413088900244],"j":["vecLen",0.9973262747452832],"g":["x",-3.992864740733304],"d":["y",-9.40132771582476],"e":["z",5.603442451320814],"a":["dis",195.34568187658508],"h":["slowdown","9"],"i":["bri",-3.0855806989772865],"k":["atan",138.08644960085184],"l":["olx",0],"m":["oly",0],"n":["disxplane",0]},"lists":{},"broadcasts":{},"blocks":{},"comments":{},"currentCostume":0,"costumes":[{"assetId":"cd21514d0531fdffb22204e0ec5ed84a","name":"backdrop1","md5ext":"cd21514d0531fdffb22204e0ec5ed84a.svg","dataFormat":"svg","rotationCenterX":240,"rotationCenterY":180}],"sounds":[{"assetId":"83a9787d4cb6f3b7632b4ddfebf74367","name":"pop","dataFormat":"wav","format":"","rate":48000,"sampleCount":1123,"md5ext":"83a9787d4cb6f3b7632b4ddfebf74367.wav"}],"volume":100,"layerOrder":0,"tempo":60,"videoTransparency":50,"videoState":"on","textToSpeechLanguage":null},{"isStage":false,"name":"Sprite1","variables":{},"lists":{},"broadcasts":{},"blocks":{"0":{"opcode":"operator_add","next":null,"parent":"Z","inputs":{"NUM1":[3,"bf",[4,""]],"NUM2":[3,"bg",[4,""]]},"fields":{}},"1":{"opcode":"data_setvariableto","next":"ax","parent":"Y","inputs":{"VALUE":[3,"bi",[10,"0"]]},"fields":{"VARIABLE":["vy","c"]}},"2":{"opcode":"operator_add","next":null,"parent":"ay","inputs":{"NUM1":[3,"3",[4,""]],"NUM2":[3,"4",[4,""]]},"fields":{}},"3":{"opcode":"operator_multiply","next":null,"parent":"2","inputs":{"NUM1":[3,"az",[4,""]],"NUM2":[3,"bk",[4,""]]},"fields":{}},"4":{"opcode":"operator_multiply","next":null,"parent":"2","inputs":{"NUM1":[3,"aA",[4,""]],"NUM2":[3,"bm",[4,""]]},"fields":{}},"5":{"opcode":"operator_add","next":null,"parent":"h","inputs":{"NUM1":[3,"6",[4,""]],"NUM2":[3,"7",[4,""]]},"fields":{}},"6":{"opcode":"operator_multiply","next":null,"parent":"5","inputs":{"NUM1":[3,"aB",[4,""]],"NUM2":[3,"bo",[4,""]]},"fields":{}},"7":{"opcode":"operator_multiply","next":null,"parent":"5","inputs":{"NUM1":[3,"aC",[4,""]],"NUM2":[3,"bq",[4,""]]},"fields":{}},"8":{"opcode":"pen_clear","next":"9","parent":"aM","inputs":{},"fields":{}},"9":{"opcode":"pen_setPenSizeTo","next":"!","parent":"8","inputs":{"SIZE":[1,[4,"1"]]},"fields":{}},"aM":{"opcode":"event_whenflagclicked","next":"8","parent":null,"inputs":{},"fields":{},"topLevel":true},"!":{"opcode":"motion_sety","next":"#","parent":"9","inputs":{"Y":[1,[4,"180"]]},"fields":{}},"#":{"opcode":"control_repeat","next":null,"parent":"!","inputs":{"TIMES":[1,[6,"360"]],"SUBSTACK":[2,"%"]},"fields":{}},"%":{"opcode":"motion_setx","next":"e","parent":"#","inputs":{"X":[1,[4,"-240"]]},"fields":{}},"e":{"opcode":"control_repeat","next":"aN","parent":"%","inputs":{"TIMES":[1,[6,"480"]],"SUBSTACK":[2,"("]},"fields":{}},"(":{"opcode":"procedures_call","next":")","parent":"e","inputs":{},"fields":{},"mutation":{"tagName":"mutation","children":[],"proccode":"black hole","argumentids":"[]","warp":"true"}},")":{"opcode":"pen_penDown","next":"*","parent":"(","inputs":{},"fields":{}},"*":{"opcode":"pen_penUp","next":"aO","parent":")","inputs":{},"fields":{}},"aO":{"opcode":"motion_changexby","next":null,"parent":"*","inputs":{"DX":[1,[4,"1"]]},"fields":{}},"aN":{"opcode":"motion_changeyby","next":null,"parent":"e","inputs":{"DY":[1,[4,"-1"]]},"fields":{}},"+":{"opcode":"procedures_definition","next":"f","parent":null,"inputs":{"custom_block":[1,"aP"]},"fields":{},"topLevel":true},"aP":{"opcode":"procedures_prototype","next":null,"parent":"+","inputs":{},"fields":{},"shadow":true,"mutation":{"tagName":"mutation","children":[],"proccode":"black hole","argumentids":"[]","argumentnames":"[]","argumentdefaults":"[]","warp":"true"}},"g":{"opcode":"data_setvariableto","next":"i","parent":"h","inputs":{"VALUE":[3,"aQ",[10,"0"]]},"fields":{"VARIABLE":["vx","b"]}},"aQ":{"opcode":"operator_divide","next":null,"parent":"g","inputs":{"NUM1":[3,[12,"vx","b"],[4,""]],"NUM2":[1,[4,"1"]]},"fields":{}},"i":{"opcode":"data_setvariableto","next":",","parent":"g","inputs":{"VALUE":[3,"aR",[10,"0"]]},"fields":{"VARIABLE":["vy","c"]}},"aR":{"opcode":"operator_divide","next":null,"parent":"i","inputs":{"NUM1":[3,[12,"vy","c"],[4,""]],"NUM2":[1,[4,"1"]]},"fields":{}},",":{"opcode":"data_setvariableto","next":"-","parent":"i","inputs":{"VALUE":[1,[10,"1"]]},"fields":{"VARIABLE":["vz","f"]}},"-":{"opcode":"data_setvariableto","next":".","parent":",","inputs":{"VALUE":[1,[10,"0"]]},"fields":{"VARIABLE":["x","g"]}},".":{"opcode":"data_setvariableto","next":"/","parent":"-","inputs":{"VALUE":[1,[10,"0.6"]]},"fields":{"VARIABLE":["y","d"]}},"/":{"opcode":"data_setvariableto","next":":","parent":".","inputs":{"VALUE":[1,[10,"-10"]]},"fields":{"VARIABLE":["z","e"]}},":":{"opcode":"procedures_call","next":"j","parent":"/","inputs":{},"fields":{},"mutation":{"tagName":"mutation","children":[],"proccode":"normalize","argumentids":"[]","warp":"true"}},"j":{"opcode":"pen_setPenColorParamTo","next":"k","parent":":","inputs":{"COLOR_PARAM":[1,"aS"],"VALUE":[1,[4,"0"]]},"fields":{}},"aS":{"opcode":"pen_menu_colorParam","next":null,"parent":"j","inputs":{},"fields":{"colorParam":["saturation",null]},"shadow":true},"k":{"opcode":"pen_setPenColorParamTo","next":";","parent":"j","inputs":{"COLOR_PARAM":[1,"aT"],"VALUE":[1,[4,"0"]]},"fields":{}},"aT":{"opcode":"pen_menu_colorParam","next":null,"parent":"k","inputs":{},"fields":{"colorParam":["brightness",null]},"shadow":true},";":{"opcode":"data_setvariableto","next":"l","parent":"k","inputs":{"VALUE":[1,[10,"9"]]},"fields":{"VARIABLE":["slowdown","h"]}},"l":{"opcode":"control_repeat","next":"m","parent":";","inputs":{"TIMES":[1,[6,"180"]],"SUBSTACK":[2,"n"]},"fields":{}},"n":{"opcode":"data_setvariableto","next":"a","parent":"l","inputs":{"VALUE":[3,"o",[10,"0"]]},"fields":{"VARIABLE":["dis","a"]}},"o":{"opcode":"operator_add","next":null,"parent":"n","inputs":{"NUM1":[3,"aU",[4,""]],"NUM2":[3,"p",[4,""]]},"fields":{}},"aU":{"opcode":"operator_multiply","next":null,"parent":"o","inputs":{"NUM1":[3,[12,"x","g"],[4,""]],"NUM2":[3,[12,"x","g"],[4,""]]},"fields":{}},"p":{"opcode":"operator_add","next":null,"parent":"o","inputs":{"NUM1":[3,"aV",[4,""]],"NUM2":[3,"aW",[4,""]]},"fields":{}},"aV":{"opcode":"operator_multiply","next":null,"parent":"p","inputs":{"NUM1":[3,[12,"y","d"],[4,""]],"NUM2":[3,[12,"y","d"],[4,""]]},"fields":{}},"aW":{"opcode":"operator_multiply","next":null,"parent":"p","inputs":{"NUM1":[3,[12,"z","e"],[4,""]],"NUM2":[3,[12,"z","e"],[4,""]]},"fields":{}},"a":{"opcode":"control_if","next":"q","parent":"n","inputs":{"CONDITION":[2,"aX"],"SUBSTACK":[2,"r"]},"fields":{}},"aX":{"opcode":"operator_lt","next":null,"parent":"a","inputs":{"OPERAND1":[3,[12,"dis","a"],[10,""]],"OPERAND2":[1,[10,"1"]]},"fields":{}},"r":{"opcode":"pen_setPenColorParamTo","next":"s","parent":"a","inputs":{"COLOR_PARAM":[1,"aY"],"VALUE":[1,[4,"0"]]},"fields":{}},"aY":{"opcode":"pen_menu_colorParam","next":null,"parent":"r","inputs":{},"fields":{"colorParam":["saturation",null]},"shadow":true},"s":{"opcode":"pen_setPenColorParamTo","next":"aZ","parent":"r","inputs":{"COLOR_PARAM":[1,"a0"],"VALUE":[1,[4,"0"]]},"fields":{}},"a0":{"opcode":"pen_menu_colorParam","next":null,"parent":"s","inputs":{},"fields":{"colorParam":["brightness",null]},"shadow":true},"aZ":{"opcode":"control_stop","next":null,"parent":"s","inputs":{},"fields":{"STOP_OPTION":["this script",null]},"mutation":{"tagName":"mutation","children":[],"hasnext":"false"}},"q":{"opcode":"data_setvariableto","next":"b","parent":"a","inputs":{"VALUE":[3,"a1",[10,"0"]]},"fields":{"VARIABLE":["dis","a"]}},"a1":{"opcode":"operator_divide","next":null,"parent":"q","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[1,[4,"0.5"]]},"fields":{}},"b":{"opcode":"control_if","next":"t","parent":"q","inputs":{"CONDITION":[2,"u"],"SUBSTACK":[2,"v"]},"fields":{}},"u":{"opcode":"operator_and","next":null,"parent":"b","inputs":{"OPERAND1":[2,"w"],"OPERAND2":[2,"a2"]},"fields":{}},"w":{"opcode":"operator_and","next":null,"parent":"u","inputs":{"OPERAND1":[2,"a3"],"OPERAND2":[2,"a4"]},"fields":{}},"a3":{"opcode":"operator_lt","next":null,"parent":"w","inputs":{"OPERAND1":[1,[10,"-0.05"]],"OPERAND2":[3,[12,"y","d"],[10,"0.2"]]},"fields":{}},"a4":{"opcode":"operator_lt","next":null,"parent":"w","inputs":{"OPERAND1":[3,[12,"y","d"],[10,""]],"OPERAND2":[1,[10,"0.05"]]},"fields":{}},"a2":{"opcode":"operator_lt","next":null,"parent":"u","inputs":{"OPERAND1":[3,[12,"dis","a"],[10,""]],"OPERAND2":[1,[10,"130"]]},"fields":{}},"v":{"opcode":"data_setvariableto","next":"x","parent":"b","inputs":{"VALUE":[3,"=",[10,"0"]]},"fields":{"VARIABLE":["dis","a"]}},"=":{"opcode":"operator_mathop","next":null,"parent":"v","inputs":{"NUM":[3,"y",[4,""]]},"fields":{"OPERATOR":["sqrt",null]}},"y":{"opcode":"operator_add","next":null,"parent":"=","inputs":{"NUM1":[3,"a5",[4,""]],"NUM2":[3,"z",[4,""]]},"fields":{}},"a5":{"opcode":"operator_multiply","next":null,"parent":"y","inputs":{"NUM1":[3,[12,"x","g"],[4,""]],"NUM2":[3,[12,"x","g"],[4,""]]},"fields":{}},"z":{"opcode":"operator_add","next":null,"parent":"y","inputs":{"NUM1":[3,"a6",[4,""]],"NUM2":[3,"a7",[4,""]]},"fields":{}},"a6":{"opcode":"operator_multiply","next":null,"parent":"z","inputs":{"NUM1":[3,[12,"y","d"],[4,""]],"NUM2":[3,[12,"y","d"],[4,""]]},"fields":{}},"a7":{"opcode":"operator_multiply","next":null,"parent":"z","inputs":{"NUM1":[3,[12,"z","e"],[4,""]],"NUM2":[3,[12,"z","e"],[4,""]]},"fields":{}},"x":{"opcode":"data_setvariableto","next":"A","parent":"v","inputs":{"VALUE":[3,"?",[10,"0"]]},"fields":{"VARIABLE":["bri","i"]}},"?":{"opcode":"operator_add","next":null,"parent":"x","inputs":{"NUM1":[1,[4,"50"]],"NUM2":[3,"B",[4,""]]},"fields":{}},"B":{"opcode":"operator_multiply","next":null,"parent":"?","inputs":{"NUM1":[3,"a8",[4,""]],"NUM2":[3,"@",[4,""]]},"fields":{}},"a8":{"opcode":"operator_divide","next":null,"parent":"B","inputs":{"NUM1":[1,[4,"30"]],"NUM2":[1,[4,"8"]]},"fields":{}},"@":{"opcode":"operator_subtract","next":null,"parent":"B","inputs":{"NUM1":[1,[4,"8"]],"NUM2":[3,"[",[4,""]]},"fields":{}},"[":{"opcode":"operator_divide","next":null,"parent":"@","inputs":{"NUM1":[3,"C",[4,""]],"NUM2":[1,[4,"1.7"]]},"fields":{}},"C":{"opcode":"operator_multiply","next":null,"parent":"[","inputs":{"NUM1":[3,"a9",[4,""]],"NUM2":[3,"a!",[4,""]]},"fields":{}},"a9":{"opcode":"operator_subtract","next":null,"parent":"C","inputs":{"NUM1":[1,[4,"8"]],"NUM2":[3,[12,"dis","a"],[4,""]]},"fields":{}},"a!":{"opcode":"operator_subtract","next":null,"parent":"C","inputs":{"NUM1":[1,[4,"8"]],"NUM2":[3,[12,"dis","a"],[4,""]]},"fields":{}},"A":{"opcode":"data_setvariableto","next":"c","parent":"x","inputs":{"VALUE":[3,"D",[10,"0"]]},"fields":{"VARIABLE":["atan","k"]}},"D":{"opcode":"operator_add","next":null,"parent":"A","inputs":{"NUM1":[3,"]",[4,""]],"NUM2":[3,"^",[4,""]]},"fields":{}},"]":{"opcode":"operator_mathop","next":null,"parent":"D","inputs":{"NUM":[3,"a#",[4,""]]},"fields":{"OPERATOR":["atan",null]}},"a#":{"opcode":"operator_divide","next":null,"parent":"]","inputs":{"NUM1":[3,[12,"x","g"],[4,""]],"NUM2":[3,[12,"z","e"],[4,""]]},"fields":{}},"^":{"opcode":"operator_multiply","next":null,"parent":"D","inputs":{"NUM1":[1,[4,"180"]],"NUM2":[3,"a%",[4,""]]},"fields":{}},"a%":{"opcode":"operator_lt","next":null,"parent":"^","inputs":{"OPERAND1":[3,[12,"z","e"],[10,""]],"OPERAND2":[1,[10,"0"]]},"fields":{}},"c":{"opcode":"pen_setPenColorParamTo","next":"E","parent":"A","inputs":{"COLOR_PARAM":[1,"a("],"VALUE":[3,"F",[4,"50"]]},"fields":{}},"a(":{"opcode":"pen_menu_colorParam","next":null,"parent":"c","inputs":{},"fields":{"colorParam":["color",null]},"shadow":true},"F":{"opcode":"operator_add","next":null,"parent":"c","inputs":{"NUM1":[3,"_",[4,""]],"NUM2":[3,"`",[4,""]]},"fields":{}},"_":{"opcode":"operator_add","next":null,"parent":"F","inputs":{"NUM1":[1,[4,"70"]],"NUM2":[3,"{",[4,""]]},"fields":{}},"{":{"opcode":"operator_multiply","next":null,"parent":"_","inputs":{"NUM1":[1,[4,"5"]],"NUM2":[3,"|",[4,""]]},"fields":{}},"|":{"opcode":"operator_mathop","next":null,"parent":"{","inputs":{"NUM":[3,"a)",[4,""]]},"fields":{"OPERATOR":["sin",null]}},"a)":{"opcode":"operator_multiply","next":null,"parent":"|","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[1,[4,"60"]]},"fields":{}},"`":{"opcode":"operator_add","next":null,"parent":"F","inputs":{"NUM1":[1,[4,"5"]],"NUM2":[3,"}",[4,""]]},"fields":{}},"}":{"opcode":"operator_multiply","next":null,"parent":"`","inputs":{"NUM1":[1,[4,"5"]],"NUM2":[3,"~",[4,""]]},"fields":{}},"~":{"opcode":"operator_mathop","next":null,"parent":"}","inputs":{"NUM":[3,"a*",[4,""]]},"fields":{"OPERATOR":["sin",null]}},"a*":{"opcode":"operator_multiply","next":null,"parent":"~","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[1,[4,"120"]]},"fields":{}},"E":{"opcode":"data_changevariableby","next":"G","parent":"c","inputs":{"VALUE":[3,"aa",[4,"1"]]},"fields":{"VARIABLE":["bri","i"]}},"aa":{"opcode":"operator_multiply","next":null,"parent":"E","inputs":{"NUM1":[1,[4,"0.4"]],"NUM2":[3,"H",[4,""]]},"fields":{}},"H":{"opcode":"operator_add","next":null,"parent":"aa","inputs":{"NUM1":[3,"ab",[4,""]],"NUM2":[3,"ac",[4,""]]},"fields":{}},"ab":{"opcode":"operator_add","next":null,"parent":"H","inputs":{"NUM1":[1,[4,"30"]],"NUM2":[3,"ad",[4,""]]},"fields":{}},"ad":{"opcode":"operator_multiply","next":null,"parent":"ab","inputs":{"NUM1":[1,[4,"30"]],"NUM2":[3,"I",[4,""]]},"fields":{}},"I":{"opcode":"operator_multiply","next":null,"parent":"ad","inputs":{"NUM1":[3,"ae",[4,""]],"NUM2":[3,"af",[4,""]]},"fields":{}},"ae":{"opcode":"operator_mathop","next":null,"parent":"I","inputs":{"NUM":[3,"a+",[4,""]]},"fields":{"OPERATOR":["sin",null]}},"a+":{"opcode":"operator_multiply","next":null,"parent":"ae","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[1,[4,"180"]]},"fields":{}},"af":{"opcode":"operator_mathop","next":null,"parent":"I","inputs":{"NUM":[3,"a,",[4,""]]},"fields":{"OPERATOR":["sin",null]}},"a,":{"opcode":"operator_multiply","next":null,"parent":"af","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[1,[4,"180"]]},"fields":{}},"ac":{"opcode":"operator_multiply","next":null,"parent":"H","inputs":{"NUM1":[1,[4,"30"]],"NUM2":[3,"J",[4,""]]},"fields":{}},"J":{"opcode":"operator_multiply","next":null,"parent":"ac","inputs":{"NUM1":[3,"ag",[4,""]],"NUM2":[3,"ah",[4,""]]},"fields":{}},"ag":{"opcode":"operator_mathop","next":null,"parent":"J","inputs":{"NUM":[3,"a-",[4,""]]},"fields":{"OPERATOR":["sin",null]}},"a-":{"opcode":"operator_multiply","next":null,"parent":"ag","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[1,[4,"120"]]},"fields":{}},"ah":{"opcode":"operator_add","next":null,"parent":"J","inputs":{"NUM1":[1,[4,"1.2"]],"NUM2":[3,"ai",[4,""]]},"fields":{}},"ai":{"opcode":"operator_divide","next":null,"parent":"ah","inputs":{"NUM1":[3,"aj",[4,""]],"NUM2":[1,[4,"2"]]},"fields":{}},"aj":{"opcode":"operator_mathop","next":null,"parent":"ai","inputs":{"NUM":[3,"a.",[4,""]]},"fields":{"OPERATOR":["sin",null]}},"a.":{"opcode":"operator_multiply","next":null,"parent":"aj","inputs":{"NUM1":[1,[4,"8"]],"NUM2":[3,[12,"atan","k"],[4,""]]},"fields":{}},"G":{"opcode":"data_setvariableto","next":"d","parent":"E","inputs":{"VALUE":[3,"ak",[10,"0"]]},"fields":{"VARIABLE":["bri","i"]}},"ak":{"opcode":"operator_divide","next":null,"parent":"G","inputs":{"NUM1":[3,"al",[4,""]],"NUM2":[1,[4,"3"]]},"fields":{}},"al":{"opcode":"operator_multiply","next":null,"parent":"ak","inputs":{"NUM1":[3,[12,"bri","i"],[4,""]],"NUM2":[3,"am",[4,""]]},"fields":{}},"am":{"opcode":"operator_subtract","next":null,"parent":"al","inputs":{"NUM1":[1,[4,"8"]],"NUM2":[3,"an",[4,""]]},"fields":{}},"an":{"opcode":"operator_divide","next":null,"parent":"am","inputs":{"NUM1":[3,"a/",[4,""]],"NUM2":[1,[4,"8"]]},"fields":{}},"a/":{"opcode":"operator_multiply","next":null,"parent":"an","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[3,[12,"dis","a"],[4,""]]},"fields":{}},"d":{"opcode":"pen_setPenColorParamTo","next":"K","parent":"G","inputs":{"COLOR_PARAM":[1,"a:"],"VALUE":[3,"a;",[4,"100"]]},"fields":{}},"a:":{"opcode":"pen_menu_colorParam","next":null,"parent":"d","inputs":{},"fields":{"colorParam":["saturation",null]},"shadow":true},"a;":{"opcode":"operator_subtract","next":null,"parent":"d","inputs":{"NUM1":[1,[4,"110"]],"NUM2":[3,[12,"bri","i"],[4,""]]},"fields":{}},"K":{"opcode":"pen_setPenColorParamTo","next":"a=","parent":"d","inputs":{"COLOR_PARAM":[1,"a?"],"VALUE":[3,[12,"bri","i"],[4,"100"]]},"fields":{}},"a?":{"opcode":"pen_menu_colorParam","next":null,"parent":"K","inputs":{},"fields":{"colorParam":["brightness",null]},"shadow":true},"a=":{"opcode":"control_stop","next":null,"parent":"K","inputs":{},"fields":{"STOP_OPTION":["this script",null]},"mutation":{"tagName":"mutation","children":[],"hasnext":"false"}},"t":{"opcode":"data_changevariableby","next":"L","parent":"b","inputs":{"VALUE":[3,"M",[4,"1"]]},"fields":{"VARIABLE":["vx","b"]}},"M":{"opcode":"operator_divide","next":null,"parent":"t","inputs":{"NUM1":[3,"a@",[4,""]],"NUM2":[3,"a[",[4,""]]},"fields":{}},"a@":{"opcode":"operator_subtract","next":null,"parent":"M","inputs":{"NUM1":[1,[4,"0"]],"NUM2":[3,[12,"x","g"],[4,""]]},"fields":{}},"a[":{"opcode":"operator_multiply","next":null,"parent":"M","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[3,[12,"slowdown","h"],[4,""]]},"fields":{}},"L":{"opcode":"data_changevariableby","next":"N","parent":"t","inputs":{"VALUE":[3,"O",[4,"1"]]},"fields":{"VARIABLE":["vy","c"]}},"O":{"opcode":"operator_divide","next":null,"parent":"L","inputs":{"NUM1":[3,"a]",[4,""]],"NUM2":[3,"a^",[4,""]]},"fields":{}},"a]":{"opcode":"operator_subtract","next":null,"parent":"O","inputs":{"NUM1":[1,[4,"0"]],"NUM2":[3,[12,"y","d"],[4,""]]},"fields":{}},"a^":{"opcode":"operator_multiply","next":null,"parent":"O","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[3,[12,"slowdown","h"],[4,""]]},"fields":{}},"N":{"opcode":"data_changevariableby","next":"ao","parent":"L","inputs":{"VALUE":[3,"P",[4,"1"]]},"fields":{"VARIABLE":["vz","f"]}},"P":{"opcode":"operator_divide","next":null,"parent":"N","inputs":{"NUM1":[3,"a_",[4,""]],"NUM2":[3,"a`",[4,""]]},"fields":{}},"a_":{"opcode":"operator_subtract","next":null,"parent":"P","inputs":{"NUM1":[1,[4,"0"]],"NUM2":[3,[12,"z","e"],[4,""]]},"fields":{}},"a`":{"opcode":"operator_multiply","next":null,"parent":"P","inputs":{"NUM1":[3,[12,"dis","a"],[4,""]],"NUM2":[3,[12,"slowdown","h"],[4,""]]},"fields":{}},"ao":{"opcode":"procedures_call","next":"Q","parent":"N","inputs":{},"fields":{},"mutation":{"tagName":"mutation","children":[],"proccode":"normalize","argumentids":"[]","warp":"true"}},"Q":{"opcode":"data_changevariableby","next":"R","parent":"ao","inputs":{"VALUE":[3,"a{",[4,"1"]]},"fields":{"VARIABLE":["x","g"]}},"a{":{"opcode":"operator_divide","next":null,"parent":"Q","inputs":{"NUM1":[3,[12,"vx","b"],[4,""]],"NUM2":[3,[12,"slowdown","h"],[4,""]]},"fields":{}},"R":{"opcode":"data_changevariableby","next":"ap","parent":"Q","inputs":{"VALUE":[3,"a|",[4,"1"]]},"fields":{"VARIABLE":["y","d"]}},"a|":{"opcode":"operator_divide","next":null,"parent":"R","inputs":{"NUM1":[3,[12,"vy","c"],[4,""]],"NUM2":[3,[12,"slowdown","h"],[4,""]]},"fields":{}},"ap":{"opcode":"data_changevariableby","next":null,"parent":"R","inputs":{"VALUE":[3,"a}",[4,"1"]]},"fields":{"VARIABLE":["z","e"]}},"a}":{"opcode":"operator_divide","next":null,"parent":"ap","inputs":{"NUM1":[3,[12,"vz","f"],[4,""]],"NUM2":[3,[12,"slowdown","h"],[4,""]]},"fields":{}},"m":{"opcode":"control_if","next":null,"parent":"l","inputs":{"CONDITION":[2,"a~"],"SUBSTACK":[2,"S"]},"fields":{}},"a~":{"opcode":"operator_gt","next":null,"parent":"m","inputs":{"OPERAND1":[3,[12,"vz","f"],[10,""]],"OPERAND2":[1,[10,"0"]]},"fields":{}},"aq":{"opcode":"operator_mod","next":null,"parent":"ar","inputs":{"NUM1":[3,"as",[4,""]],"NUM2":[1,[4,"180"]]},"fields":{}},"as":{"opcode":"operator_multiply","next":null,"parent":"aq","inputs":{"NUM1":[3,"at",[4,""]],"NUM2":[1,[4,"5"]]},"fields":{}},"at":{"opcode":"operator_add","next":null,"parent":"as","inputs":{"NUM1":[3,[12,"y","d"],[4,""]],"NUM2":[3,"ba",[4,""]]},"fields":{}},"ba":{"opcode":"operator_multiply","next":null,"parent":"at","inputs":{"NUM1":[3,[12,"vy","c"],[4,""]],"NUM2":[3,[12,"dis","a"],[4,""]]},"fields":{}},"T":{"opcode":"control_if","next":null,"parent":"S","inputs":{"CONDITION":[2,"U"],"SUBSTACK":[2,"V"]},"fields":{}},"W":{"opcode":"pen_setPenColorParamTo","next":"au","parent":"V","inputs":{"COLOR_PARAM":[1,"bb"],"VALUE":[1,[4,"30"]]},"fields":{}},"bb":{"opcode":"pen_menu_colorParam","next":null,"parent":"W","inputs":{},"fields":{"colorParam":["brightness",null]},"shadow":true},"au":{"opcode":"pen_setPenColorParamTo","next":null,"parent":"W","inputs":{"COLOR_PARAM":[1,"bc"],"VALUE":[1,[4,"40"]]},"fields":{}},"bc":{"opcode":"pen_menu_colorParam","next":null,"parent":"au","inputs":{},"fields":{"colorParam":["saturation",null]},"shadow":true},"av":{"opcode":"procedures_definition","next":"X","parent":null,"inputs":{"custom_block":[1,"bd"]},"fields":{},"topLevel":true},"bd":{"opcode":"procedures_prototype","next":null,"parent":"av","inputs":{},"fields":{},"shadow":true,"mutation":{"tagName":"mutation","children":[],"proccode":"normalize","argumentids":"[]","argumentnames":"[]","argumentdefaults":"[]","warp":"true"}},"X":{"opcode":"data_setvariableto","next":"Y","parent":"av","inputs":{"VALUE":[3,"aw",[10,"0"]]},"fields":{"VARIABLE":["vecLen","j"]}},"aw":{"opcode":"operator_mathop","next":null,"parent":"X","inputs":{"NUM":[3,"Z",[4,""]]},"fields":{"OPERATOR":["sqrt",null]}},"Z":{"opcode":"operator_add","next":null,"parent":"aw","inputs":{"NUM1":[3,"be",[4,""]],"NUM2":[3,"0",[4,""]]},"fields":{}},"be":{"opcode":"operator_multiply","next":null,"parent":"Z","inputs":{"NUM1":[3,[12,"vx","b"],[4,""]],"NUM2":[3,[12,"vx","b"],[4,""]]},"fields":{}},"bf":{"opcode":"operator_multiply","next":null,"parent":"0","inputs":{"NUM1":[3,[12,"vy","c"],[4,""]],"NUM2":[3,[12,"vy","c"],[4,""]]},"fields":{}},"bg":{"opcode":"operator_multiply","next":null,"parent":"0","inputs":{"NUM1":[3,[12,"vz","f"],[4,""]],"NUM2":[3,[12,"vz","f"],[4,""]]},"fields":{}},"Y":{"opcode":"data_setvariableto","next":"1","parent":"X","inputs":{"VALUE":[3,"bh",[10,"0"]]},"fields":{"VARIABLE":["vx","b"]}},"bh":{"opcode":"operator_divide","next":null,"parent":"Y","inputs":{"NUM1":[3,[12,"vx","b"],[4,""]],"NUM2":[3,[12,"vecLen","j"],[4,""]]},"fields":{}},"bi":{"opcode":"operator_divide","next":null,"parent":"1","inputs":{"NUM1":[3,[12,"vy","c"],[4,""]],"NUM2":[3,[12,"vecLen","j"],[4,""]]},"fields":{}},"ax":{"opcode":"data_setvariableto","next":null,"parent":"1","inputs":{"VALUE":[3,"bj",[10,"0"]]},"fields":{"VARIABLE":["vz","f"]}},"bj":{"opcode":"operator_divide","next":null,"parent":"ax","inputs":{"NUM1":[3,[12,"vz","f"],[4,""]],"NUM2":[3,[12,"vecLen","j"],[4,""]]},"fields":{}},"f":{"opcode":"data_setvariableto","next":"h","parent":"+","inputs":{"VALUE":[3,"ay",[10,"0"]]},"fields":{"VARIABLE":["vx","b"]}},"ay":{"opcode":"operator_subtract","next":null,"parent":"f","inputs":{"NUM1":[1,[4,""]],"NUM2":[3,"2",[4,""]]},"fields":{}},"az":{"opcode":"operator_divide","next":null,"parent":"3","inputs":{"NUM1":[3,"bl",[4,""]],"NUM2":[1,[4,"130"]]},"fields":{}},"bl":{"opcode":"motion_yposition","next":null,"parent":"az","inputs":{},"fields":{}},"bk":{"opcode":"operator_mathop","next":null,"parent":"3","inputs":{"NUM":[1,[4,"30"]]},"fields":{"OPERATOR":["sin",null]}},"aA":{"opcode":"operator_divide","next":null,"parent":"4","inputs":{"NUM1":[3,"bn",[4,""]],"NUM2":[1,[4,"130"]]},"fields":{}},"bn":{"opcode":"motion_xposition","next":null,"parent":"aA","inputs":{},"fields":{}},"bm":{"opcode":"operator_mathop","next":null,"parent":"4","inputs":{"NUM":[1,[4,"120"]]},"fields":{"OPERATOR":["sin",null]}},"h":{"opcode":"data_setvariableto","next":"g","parent":"f","inputs":{"VALUE":[3,"5",[10,"0"]]},"fields":{"VARIABLE":["vy","c"]}},"aB":{"opcode":"operator_divide","next":null,"parent":"6","inputs":{"NUM1":[3,"bp",[4,""]],"NUM2":[1,[4,"130"]]},"fields":{}},"bp":{"opcode":"motion_yposition","next":null,"parent":"aB","inputs":{},"fields":{}},"bo":{"opcode":"operator_mathop","next":null,"parent":"6","inputs":{"NUM":[1,[4,"30"]]},"fields":{"OPERATOR":["cos",null]}},"aC":{"opcode":"operator_divide","next":null,"parent":"7","inputs":{"NUM1":[3,"br",[4,""]],"NUM2":[1,[4,"130"]]},"fields":{}},"br":{"opcode":"motion_xposition","next":null,"parent":"aC","inputs":{},"fields":{}},"bq":{"opcode":"operator_mathop","next":null,"parent":"7","inputs":{"NUM":[1,[4,"120"]]},"fields":{"OPERATOR":["cos",null]}},"S":{"opcode":"data_setvariableto","next":"T","parent":"m","inputs":{"VALUE":[3,"aD",[10,"0"]]},"fields":{"VARIABLE":["dis","a"]}},"bs":{"opcode":"operator_subtract","next":null,"parent":"aD","inputs":{"NUM1":[1,[4,"200"]],"NUM2":[3,[12,"z","e"],[4,""]]},"fields":{}},"aD":{"opcode":"operator_divide","next":null,"parent":"S","inputs":{"NUM1":[3,"bs",[4,""]],"NUM2":[3,[12,"vz","f"],[4,""]]},"fields":{}},"aE":{"opcode":"operator_add","next":null,"parent":"aF","inputs":{"NUM1":[3,[12,"x","g"],[4,""]],"NUM2":[3,"bt",[4,""]]},"fields":{}},"bt":{"opcode":"operator_multiply","next":null,"parent":"aE","inputs":{"NUM1":[3,[12,"vx","b"],[4,""]],"NUM2":[3,[12,"dis","a"],[4,""]]},"fields":{}},"U":{"opcode":"operator_or","next":null,"parent":"T","inputs":{"OPERAND2":[2,"aG"],"OPERAND1":[2,"aH"]},"fields":{}},"ar":{"opcode":"operator_subtract","next":null,"parent":"aI","inputs":{"NUM1":[3,"aq",[4,""]],"NUM2":[1,[4,"90"]]},"fields":{}},"aI":{"opcode":"operator_mathop","next":null,"parent":"aH","inputs":{"NUM":[3,"ar",[4,""]]},"fields":{"OPERATOR":["abs",null]}},"aH":{"opcode":"operator_lt","next":null,"parent":"U","inputs":{"OPERAND1":[3,"aI",[10,""]],"OPERAND2":[1,[10,"5"]]},"fields":{}},"aG":{"opcode":"operator_lt","next":null,"parent":"U","inputs":{"OPERAND1":[3,"aJ",[10,""]],"OPERAND2":[1,[10,"5"]]},"fields":{}},"aJ":{"opcode":"operator_mathop","next":null,"parent":"aG","inputs":{"NUM":[3,"aK",[4,""]]},"fields":{"OPERATOR":["abs",null]}},"aK":{"opcode":"operator_subtract","next":null,"parent":"aJ","inputs":{"NUM1":[3,"aL",[4,""]],"NUM2":[1,[4,"90"]]},"fields":{}},"aL":{"opcode":"operator_mod","next":null,"parent":"aK","inputs":{"NUM1":[3,"aF",[4,""]],"NUM2":[1,[4,"180"]]},"fields":{}},"aF":{"opcode":"operator_multiply","next":null,"parent":"aL","inputs":{"NUM1":[3,"aE",[4,""]],"NUM2":[1,[4,"5"]]},"fields":{}},"V":{"opcode":"pen_setPenColorParamTo","next":"W","parent":"T","inputs":{"COLOR_PARAM":[1,"bu"],"VALUE":[1,[4,"80"]]},"fields":{}},"bu":{"opcode":"pen_menu_colorParam","next":null,"parent":"V","inputs":{},"fields":{"colorParam":["color",null]},"shadow":true}},"comments":{},"currentCostume":0,"costumes":[{"assetId":"05a9c5219da4e946f6787243d9bc1952","name":"costume1","bitmapResolution":1,"md5ext":"05a9c5219da4e946f6787243d9bc1952.svg","dataFormat":"svg","rotationCenterX":0.549999999999983,"rotationCenterY":0.631481481481444}],"sounds":[{"assetId":"83a9787d4cb6f3b7632b4ddfebf74367","name":"pop","dataFormat":"wav","format":"","rate":48000,"sampleCount":1123,"md5ext":"83a9787d4cb6f3b7632b4ddfebf74367.wav"}],"volume":100,"layerOrder":1,"visible":true,"x":240,"y":-180,"size":100,"direction":90,"draggable":false,"rotationStyle":"all around"},{"isStage":false,"name":"download (2)","variables":{},"lists":{},"broadcasts":{},"blocks":{"bv":{"opcode":"motion_gotoxy","next":"bw","parent":null,"inputs":{"X":[1,[4,"0"]],"Y":[1,[4,"0"]]},"fields":{},"topLevel":true},"bw":{"opcode":"looks_hide","next":null,"parent":"bv","inputs":{},"fields":{}}},"comments":{},"currentCostume":0,"costumes":[{"assetId":"0c3672b5bec4b8bd2e62b0d14b4adf55","name":"download (2)","bitmapResolution":2,"md5ext":"0c3672b5bec4b8bd2e62b0d14b4adf55.png","dataFormat":"png","rotationCenterX":480,"rotationCenterY":360}],"sounds":[],"volume":100,"layerOrder":2,"visible":false,"x":0,"y":0,"size":100,"direction":90,"draggable":false,"rotationStyle":"all around"}],"monitors":[{"id":"b","mode":"default","opcode":"data_variable","params":{"VARIABLE":"vx"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"c","mode":"default","opcode":"data_variable","params":{"VARIABLE":"vy"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":33,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"f","mode":"default","opcode":"data_variable","params":{"VARIABLE":"vz"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":61,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"j","mode":"default","opcode":"data_variable","params":{"VARIABLE":"vecLen"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"g","mode":"default","opcode":"data_variable","params":{"VARIABLE":"x"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"d","mode":"default","opcode":"data_variable","params":{"VARIABLE":"y"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":33,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"e","mode":"default","opcode":"data_variable","params":{"VARIABLE":"z"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":61,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"a","mode":"default","opcode":"data_variable","params":{"VARIABLE":"dis"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"h","mode":"default","opcode":"data_variable","params":{"VARIABLE":"slowdown"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"i","mode":"default","opcode":"data_variable","params":{"VARIABLE":"bri"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"k","mode":"default","opcode":"data_variable","params":{"VARIABLE":"atan"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"l","mode":"default","opcode":"data_variable","params":{"VARIABLE":"olx"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"m","mode":"default","opcode":"data_variable","params":{"VARIABLE":"oly"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":33,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true},{"id":"n","mode":"default","opcode":"data_variable","params":{"VARIABLE":"disxplane"},"spriteName":null,"value":0,"width":0,"height":0,"x":5,"y":5,"visible":false,"sliderMin":0,"sliderMax":100,"isDiscrete":true}],"extensions":["pen"],"meta":{"semver":"3.0.0"}} \ No newline at end of file diff --git a/Games/Black hole raytracing/index.html b/Games/Black hole raytracing/index.html new file mode 100644 index 0000000..42c8b46 --- /dev/null +++ b/Games/Black hole raytracing/index.html @@ -0,0 +1,384 @@ + + + + + + + + + Gravity Raycasting (Black hole) + + + + + +

+ + + +
+ + + +
+
+ + + + + + + + + + + diff --git a/Games/Black hole raytracing/script.js b/Games/Black hole raytracing/script.js new file mode 100644 index 0000000..6aacc6e --- /dev/null +++ b/Games/Black hole raytracing/script.js @@ -0,0 +1,73 @@ +/*! +Parts of this script are from the TurboWarp Packager , licensed as follows: +Copyright (C) 2021-2022 Thomas Weber + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Parts of this script are from Scratch , licensed as follows: +Copyright (c) 2016, Massachusetts Institute of Technology +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(A){function B(B){for(var t,g,i=B[0],Q=B[1],s=0,r=[];se?1:0}return t===1/0&&e===1/0||t===-1/0&&e===-1/0?0:t-e}static isInt(A){return"number"==typeof A?!!isNaN(A)||A===Math.floor(A):"boolean"==typeof A||"string"==typeof A&&A.indexOf(".")<0}static get LIST_INVALID(){return"INVALID"}static get LIST_ALL(){return"ALL"}static toListIndex(A,B,t){if("number"!=typeof A){if("all"===A)return t?g.LIST_ALL:g.LIST_INVALID;if("last"===A)return B>0?B:g.LIST_INVALID;if("random"===A||"any"===A)return B>0?1+Math.floor(Math.random()*B):g.LIST_INVALID}return(A=Math.floor(g.toNumber(A)))<1||A>B?g.LIST_INVALID:A}}A.exports=g},function(A,B){A.exports={BOOLEAN:"Boolean",BUTTON:"button",COMMAND:"command",CONDITIONAL:"conditional",EVENT:"event",HAT:"hat",LOOP:"loop",REPORTER:"reporter"}},function(A,B){A.exports={ANGLE:"angle",BOOLEAN:"Boolean",COLOR:"color",NUMBER:"number",STRING:"string",MATRIX:"matrix",NOTE:"note",IMAGE:"image"}},function(A,B){A.exports=class{static degToRad(A){return A*Math.PI/180}static radToDeg(A){return 180*A/Math.PI}static clamp(A,B,t){return Math.min(Math.max(A,B),t)}static wrapClamp(A,B,t){const e=t-B+1;return A-Math.floor((A-B)/e)*e}static tan(A){switch(A%=360){case-270:case 90:return 1/0;case-90:case 270:return-1/0;default:return Math.round(1e10*Math.tan(Math.PI*A/180))/1e10}}static reducedSortOrdering(A){const B=A.slice(0).sort((A,B)=>A-B);return A.map(A=>B.indexOf(A))}static inclusiveRandIntWithout(A,B,t){const e=B-A,g=A+Math.floor(Math.random()*e);return g>=t?g+1:g}static scale(A,B,t,e,g){return(A-B)/(t-B)*(g-e)+e}}},function(A,B,t){"use strict";var e=t(126),g=t(127),i=t(61),Q=t(60),s=t(59);function n(A,B){return Object.keys(B).forEach((function(t){A[t]=B[t]})),A}A.exports=function A(){var B=n({},s),t="en",r={},c=function(A){return A},E=null,o="warning",w={};function C(A,B,i){var Q="string"==typeof A?A:A.default,s=Y(Q,"object"==typeof A&&A.id||c(Q),i||t);return(s.format||(s.format=g(e(s.message),i||t,w)))(B)}C.rich=function(A,B,i){var Q="string"==typeof A?A:A.default,s=Y(Q,"object"==typeof A&&A.id||c(Q),i||t);return(s.toParts||(s.toParts=g.toParts(e(s.message,{tagsType:a}),i||t,w)))(B)};var a="<>";function I(A,B){var t=A[2];return function(A,B){var e="object"==typeof t?function(A,B){return Object.keys(A).reduce((function(t,e){return t[e]=A[e](B),t}),{})}(t,B):t;return"function"==typeof A?A(e):A}}function Y(A,B,t){var e=Q(t,r)||"en",g=r[e]||(r[e]={}),i=g[B];if("string"==typeof i&&(i=g[B]={message:i}),!i){var s='Translation for "'+B+'" in "'+e+'" is missing';if("warning"===o)"undefined"!=typeof console&&console.warn(s);else if("ignore"!==o)throw new Error(s);var n="function"==typeof E?E(A,B,e)||A:E||A;i=g[B]={message:n}}return i}function h(A,B,e,g,s){"object"==typeof e&&"object"!=typeof g&&(s=g,g=e,e=0);var n=Q(s||t,i),r=n&&i[n][A]||M;return g["="+ +B]||g[r(B-e)]||g.other}function M(){return"other"}return w[a]=I,C.setup=function(A){return(A=A||{}).locale&&(t=A.locale),"translations"in A&&(r=A.translations||{}),A.generateId&&(c=A.generateId),"missingReplacement"in A&&(E=A.missingReplacement),A.missingTranslation&&(o=A.missingTranslation),A.formats&&(A.formats.number&&n(B.number,A.formats.number),A.formats.date&&n(B.date,A.formats.date),A.formats.time&&n(B.time,A.formats.time)),A.types&&((w=A.types)[a]=I),{locale:t,translations:r,generateId:c,missingReplacement:E,missingTranslation:o,formats:B,types:w}},C.number=function(A,e,g){var i=e&&B.number[e]||B.parseNumberPattern(e)||B.number.default;return new Intl.NumberFormat(g||t,i).format(A)},C.date=function(A,e,g){var i=e&&B.date[e]||B.parseDatePattern(e)||B.date.default;return new Intl.DateTimeFormat(g||t,i).format(A)},C.time=function(A,e,g){var i=e&&B.time[e]||B.parseDatePattern(e)||B.time.default;return new Intl.DateTimeFormat(g||t,i).format(A)},C.select=function(A,B){return B[A]||B.other},C.custom=function(A,B,t,e){return A[1]in w?w[A[1]](A,B)(t,e):t},C.plural=h.bind(null,"cardinal"),C.selectordinal=h.bind(null,"ordinal"),C.namespace=A,C}()},function(A,B){const t="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";A.exports=function(){const A=t.length,B=[];for(let e=0;e<20;e++)B[e]=t.charAt(Math.random()*A);return B.join("")}},function(A,B,t){const e=t(0);class g{static withoutTrailingDigits(A){let B=A.length-1;for(;B>=0&&"0123456789".indexOf(A.charAt(B))>-1;)B--;return A.slice(0,B+1)}static unusedName(A,B){if(B.indexOf(A)<0)return A;A=g.withoutTrailingDigits(A);let t=2;for(;B.indexOf(A+t)>=0;)t++;return A+t}static splitFirst(A,B){const t=A.indexOf(B);return t>=0?[A.substring(0,t),A.substring(t+1)]:[A,null]}static stringify(A){return JSON.stringify(A,(A,B)=>"number"!=typeof B||B!==1/0&&B!==-1/0&&!isNaN(B)?B:0)}static replaceUnsafeChars(A){if("string"!=typeof A){if(!Array.isArray(A))return e.error("Unexpected input recieved in replaceUnsafeChars"),A;A=String(A)}return A.replace(/[<>&'"]/g,A=>{switch(A){case"<":return"lt";case">":return"gt";case"&":return"amp";case"'":return"apos";case'"':return"quot"}})}}A.exports=g},function(A,B){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(A){"object"==typeof window&&(t=window)}A.exports=t},function(A,B,t){const e=t(6),g=t(28);class i{constructor(A,B,t,g){switch(this.id=A||e(),this.name=B,this.type=t,this.isCloud=g,this.type){case i.SCALAR_TYPE:this.value=0;break;case i.LIST_TYPE:this.value=[];break;case i.BROADCAST_MESSAGE_TYPE:this.value=this.name;break;default:throw new Error("Invalid variable type: ".concat(this.type))}}toXML(A){return A=!0===A,'').concat(g(this.name),"")}static get SCALAR_TYPE(){return""}static get LIST_TYPE(){return"list"}static get BROADCAST_MESSAGE_TYPE(){return"broadcast_msg"}}A.exports=i},function(A,B,t){ +/*! + * @license twgl.js 4.4.0 Copyright (c) 2015, Gregg Tavares All Rights Reserved. + * Available via the MIT license. + * see: http://github.com/greggman/twgl.js for details + */ +var e;"undefined"!=typeof self&&self,e=function(){return function(A){var B={};function t(e){if(B[e])return B[e].exports;var g=B[e]={i:e,l:!1,exports:{}};return A[e].call(g.exports,g,g.exports,t),g.l=!0,g.exports}return t.m=A,t.c=B,t.d=function(A,B,e){t.o(A,B)||Object.defineProperty(A,B,{configurable:!1,enumerable:!0,get:e})},t.n=function(A){var B=A&&A.__esModule?function(){return A.default}:function(){return A};return t.d(B,"a",B),B},t.o=function(A,B){return Object.prototype.hasOwnProperty.call(A,B)},t.p="",t(t.s=9)}([function(A,B,t){"use strict";B.__esModule=!0,B.copyExistingProperties=function(A,B){Object.keys(B).forEach((function(t){B.hasOwnProperty(t)&&A.hasOwnProperty(t)&&(B[t]=A[t])}))},B.copyNamedProperties=function(A,B,t){A.forEach((function(A){var e=B[A];void 0!==e&&(t[A]=e)}))},B.isBuffer=function(A,B){return Q||(Q=A.createBuffer()),B instanceof Q.constructor},B.isRenderbuffer=function(A,B){return s||(s=A.createRenderbuffer()),B instanceof s.constructor},B.isShader=function(A,B){return n||(n=A.createShader(A.VERTEX_SHADER)),B instanceof n.constructor},B.isTexture=function(A,B){return r||(r=A.createTexture()),B instanceof r.constructor},B.isSampler=function(A,B){if(!c){if(!A.createSampler)return!1;c=A.createSampler()}return B instanceof c.constructor},B.warn=B.error=void 0;var e,g=(e=t(2))&&e.__esModule?e:{default:e},i=g.default.console&&g.default.console.error&&"function"==typeof g.default.console.error?g.default.console.error.bind(g.default.console):function(){};B.error=i;var Q,s,n,r,c,E=g.default.console&&g.default.console.warn&&"function"==typeof g.default.console.warn?g.default.console.warn.bind(g.default.console):function(){};B.warn=E},function(A,B,t){"use strict";B.__esModule=!0,B.getGLTypeForTypedArray=function(A){if(A instanceof Int8Array)return 5120;if(A instanceof Uint8Array)return 5121;if(A instanceof Uint8ClampedArray)return 5121;if(A instanceof Int16Array)return 5122;if(A instanceof Uint16Array)return 5123;if(A instanceof Int32Array)return 5124;if(A instanceof Uint32Array)return 5125;if(A instanceof Float32Array)return 5126;throw"unsupported typed array type"},B.getGLTypeForTypedArrayType=function(A){if(A===Int8Array)return 5120;if(A===Uint8Array)return 5121;if(A===Uint8ClampedArray)return 5121;if(A===Int16Array)return 5122;if(A===Uint16Array)return 5123;if(A===Int32Array)return 5124;if(A===Uint32Array)return 5125;if(A===Float32Array)return 5126;throw"unsupported typed array type"},B.getTypedArrayTypeForGLType=function(A){var B=i[A];if(!B)throw"unknown gl type";return B},B.isArrayBuffer=void 0;var e,g=(e=t(2))&&e.__esModule?e:{default:e},i={},Q=i;Q[5120]=Int8Array,Q[5121]=Uint8Array,Q[5122]=Int16Array,Q[5123]=Uint16Array,Q[5124]=Int32Array,Q[5125]=Uint32Array,Q[5126]=Float32Array,Q[32819]=Uint16Array,Q[32820]=Uint16Array,Q[33635]=Uint16Array,Q[5131]=Uint16Array,Q[33640]=Uint32Array,Q[35899]=Uint32Array,Q[35902]=Uint32Array,Q[36269]=Uint32Array,Q[34042]=Uint32Array;var s=g.default.SharedArrayBuffer?function(A){return A&&A.buffer&&(A.buffer instanceof ArrayBuffer||A.buffer instanceof g.default.SharedArrayBuffer)}:function(A){return A&&A.buffer&&A.buffer instanceof ArrayBuffer};B.isArrayBuffer=s},function(A,B,t){"use strict";B.__esModule=!0,B.default=void 0;var e=void 0!==e?e:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};B.default=e},function(A,B,t){"use strict";B.__esModule=!0,B.add=function(A,B,t){return(t=t||new e(3))[0]=A[0]+B[0],t[1]=A[1]+B[1],t[2]=A[2]+B[2],t},B.copy=function(A,B){return(B=B||new e(3))[0]=A[0],B[1]=A[1],B[2]=A[2],B},B.create=function(A,B,t){var g=new e(3);return A&&(g[0]=A),B&&(g[1]=B),t&&(g[2]=t),g},B.cross=function(A,B,t){t=t||new e(3);var g=A[2]*B[0]-A[0]*B[2],i=A[0]*B[1]-A[1]*B[0];return t[0]=A[1]*B[2]-A[2]*B[1],t[1]=g,t[2]=i,t},B.distance=function(A,B){var t=A[0]-B[0],e=A[1]-B[1],g=A[2]-B[2];return Math.sqrt(t*t+e*e+g*g)},B.distanceSq=function(A,B){var t=A[0]-B[0],e=A[1]-B[1],g=A[2]-B[2];return t*t+e*e+g*g},B.divide=function(A,B,t){return(t=t||new e(3))[0]=A[0]/B[0],t[1]=A[1]/B[1],t[2]=A[2]/B[2],t},B.divScalar=function(A,B,t){return(t=t||new e(3))[0]=A[0]/B,t[1]=A[1]/B,t[2]=A[2]/B,t},B.dot=function(A,B){return A[0]*B[0]+A[1]*B[1]+A[2]*B[2]},B.lerp=function(A,B,t,g){return(g=g||new e(3))[0]=(1-t)*A[0]+t*B[0],g[1]=(1-t)*A[1]+t*B[1],g[2]=(1-t)*A[2]+t*B[2],g},B.length=function(A){return Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2])},B.lengthSq=function(A){return A[0]*A[0]+A[1]*A[1]+A[2]*A[2]},B.mulScalar=function(A,B,t){return(t=t||new e(3))[0]=A[0]*B,t[1]=A[1]*B,t[2]=A[2]*B,t},B.multiply=function(A,B,t){return(t=t||new e(3))[0]=A[0]*B[0],t[1]=A[1]*B[1],t[2]=A[2]*B[2],t},B.negate=function(A,B){return(B=B||new e(3))[0]=-A[0],B[1]=-A[1],B[2]=-A[2],B},B.normalize=function(A,B){B=B||new e(3);var t=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],g=Math.sqrt(t);return g>1e-5?(B[0]=A[0]/g,B[1]=A[1]/g,B[2]=A[2]/g):(B[0]=0,B[1]=0,B[2]=0),B},B.setDefaultType=function(A){var B=e;return e=A,B},B.subtract=function(A,B,t){return(t=t||new e(3))[0]=A[0]-B[0],t[1]=A[1]-B[1],t[2]=A[2]-B[2],t};var e=Float32Array},function(A,B,t){"use strict";B.__esModule=!0,B.isWebGL1=function(A){return!A.texStorage2D},B.isWebGL2=function(A){return!!A.texStorage2D},B.glEnumToString=void 0;var e,g,i=(e={},g={},function(A,B){return function(A){var B=A.constructor.name;if(!e[B]){for(var t in A)if("number"==typeof A[t]){var i=g[A[t]];g[A[t]]=i?"".concat(i," | ").concat(t):t}e[B]=!0}}(A),g[B]||"0x"+B.toString(16)});B.glEnumToString=i},function(A,B,t){"use strict";B.__esModule=!0,B.createAttributeSetters=z,B.createProgram=H,B.createProgramFromScripts=function(A,B,t,e,g){for(var i=N(t,e,g),Q=[],s=0;s=0?(void 0).FRAGMENT_SHADER:A.indexOf("vert")>=0?(void 0).VERTEX_SHADER:void 0}function f(A,B){B.forEach((function(B){A.deleteShader(B)}))}function H(A,B,t,e,g){for(var Q=N(t,e,g),s=[],n=[],r=0;r1&&"[0]"===e.name.substr(-3),s=e.type,n=E[s];if(!n)throw"unknown type: 0x"+s.toString(16);if(n.bindPoint){var r=t;t+=e.size,g=Q?n.arraySetter(A,s,r,i,e.size):n.setter(A,s,r,i,e.size)}else g=n.arraySetter&&Q?n.arraySetter(A,i):n.setter(A,i);return g.location=i,g}for(var g={},i=A.getProgramParameter(B,A.ACTIVE_UNIFORMS),Q=0;Q0)throw"numComponents "+i+" not correct for length "+g;return Q}(B),t},B.createBufferFromArray=h,B.createBufferFromTypedArray=n,B.createBufferInfoFromArrays=function(A,B){var t={attribs:I(A,B)},g=B.indices;if(g){var i=a(g,"indices");t.indices=n(A,i,A.ELEMENT_ARRAY_BUFFER),t.numElements=i.length,t.elementType=e.getGLTypeForTypedArray(i)}else t.numElements=function(A,B){var t,e;for(e=0;e0)throw"Can not guess numComponents for attribute '"+A+"'. Tried "+t+" but "+B+" values is not evenly divisible by "+t+". You should specify it.";return t}function C(A,B){return A.numComponents||A.size||w(B,c(A).length)}function a(A,B){if(e.isArrayBuffer(A))return A;if(e.isArrayBuffer(A.data))return A.data;Array.isArray(A)&&(A={data:A});var t=A.type;return t||(t=r(B)?Uint16Array:Float32Array),new t(A.data)}function I(A,B){var t={};return Object.keys(B).forEach((function(g){if(!r(g)){var i,s,c,E,o,I=B[g],Y=I.attrib||I.name||I.attribName||Q.attribPrefix+g;if("number"==typeof I||"number"==typeof I.data){o=I.data||I;var h=I.type||Float32Array,M=o*h.BYTES_PER_ELEMENT;s=e.getGLTypeForTypedArrayType(h),c=void 0!==I.normalize?I.normalize:(D=h)===Int8Array||D===Uint8Array,E=I.numComponents||I.size||w(g,o),i=A.createBuffer(),A.bindBuffer(A.ARRAY_BUFFER,i),A.bufferData(A.ARRAY_BUFFER,M,I.drawType||A.STATIC_DRAW)}else{var F=a(I,g);i=n(A,F,void 0,I.drawType),s=e.getGLTypeForTypedArray(F),c=void 0!==I.normalize?I.normalize:function(A){return A instanceof Int8Array||A instanceof Uint8Array}(F),E=C(I,g),o=F.length}t[Y]={buffer:i,numComponents:E,type:s,normalize:c,stride:I.stride||0,offset:I.offset||0,divisor:void 0===I.divisor?void 0:I.divisor,drawType:I.drawType}}var D})),A.bindBuffer(A.ARRAY_BUFFER,null),t}var Y=["position","positions","a_position"];function h(A,B,t){var e="indices"===t?A.ELEMENT_ARRAY_BUFFER:A.ARRAY_BUFFER;return n(A,a(B,t),e)}},function(A,B,t){"use strict";B.__esModule=!0,B.setTextureDefaults_=function(A){Q.copyExistingProperties(A,r),A.textureColor&&l(A.textureColor)},B.createSampler=p,B.createSamplers=function(A,B){var t={};return Object.keys(B).forEach((function(e){t[e]=p(A,B[e])})),t},B.setSamplerParameters=R,B.createTexture=K,B.setEmptyTexture=V,B.setTextureFromArray=W,B.loadTextureFromUrl=L,B.setTextureFromElement=j,B.setTextureFilteringForSize=y,B.setTextureParameters=H,B.setDefaultTextureColor=l,B.createTextures=function(A,B,t){t=t||x;var e=0,g=[],i={},Q={};function s(){0===e&&setTimeout((function(){t(g.length?g:void 0,i,Q)}),0)}return Object.keys(B).forEach((function(t){var n,r,c=B[t];("string"==typeof(r=c.src)||Array.isArray(r)&&"string"==typeof r[0])&&(n=function(A,B,i){Q[t]=i,--e,A&&g.push(A),s()},++e),i[t]=K(A,c,n)})),s(),i},B.resizeTexture=function(A,B,t,e,g){e=e||t.width,g=g||t.height;var i=t.target||A.TEXTURE_2D;A.bindTexture(i,B);var Q,s=t.level||0,n=t.internalFormat||t.format||A.RGBA,r=M(n),E=t.format||r.format,o=t.src;if(Q=o&&(c(o)||Array.isArray(o)&&"number"==typeof o[0])?t.type||D(A,o,r.type):t.type||r.type,i===A.TEXTURE_CUBE_MAP)for(var w=0;w<6;++w)A.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+w,s,n,e,g,0,E,Q,null);else A.texImage2D(i,s,n,e,g,0,E,Q,null)},B.getNumComponentsForFormat=function(A){var B=C[A];if(!B)throw"unknown format: "+A;return B.numColorComponents},B.getBytesPerElementForInternalFormat=h;var e,g=n(t(4)),i=n(t(1)),Q=n(t(0)),s=(e=t(2))&&e.__esModule?e:{default:e};function n(A){if(A&&A.__esModule)return A;var B={};if(null!=A)for(var t in A)if(Object.prototype.hasOwnProperty.call(A,t)){var e=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(A,t):{};e.get||e.set?Object.defineProperty(B,t,e):B[t]=A[t]}return B.default=A,B}var r={textureColor:new Uint8Array([128,192,255,255]),textureOptions:{},crossOrigin:void 0},c=i.isArrayBuffer,E=s.default.document&&s.default.document.createElement?s.default.document.createElement("canvas").getContext("2d"):null,o=6407,w=33319,C={},a=C;a[6406]={numColorComponents:1},a[6409]={numColorComponents:1},a[6410]={numColorComponents:2},a[o]={numColorComponents:3},a[6408]={numColorComponents:4},a[6403]={numColorComponents:1},a[36244]={numColorComponents:1},a[w]={numColorComponents:2},a[33320]={numColorComponents:2},a[o]={numColorComponents:3},a[36248]={numColorComponents:3},a[6408]={numColorComponents:4},a[36249]={numColorComponents:4},a[6402]={numColorComponents:1},a[34041]={numColorComponents:2};var I={},Y=I;function h(A,B){var t=I[A];if(!t)throw"unknown internal format";var e=t.bytesPerElementMap[B];if(void 0===e)throw"unknown internal format";return e}function M(A){var B=I[A];if(!B)throw"unknown internal format";return{format:B.textureFormat,type:Array.isArray(B.type)?B.type[0]:B.type}}function F(A){return 0==(A&A-1)}function D(A,B,t){return c(B)?i.getGLTypeForTypedArray(B):t||A.UNSIGNED_BYTE}function u(A,B,t,e,g){if(g%1!=0)throw"can't guess dimensions";if(t||e){if(e){if(!t&&(t=g/e)%1)throw"can't guess dimensions"}else if((e=g/t)%1)throw"can't guess dimensions"}else{var i=Math.sqrt(g/(B===A.TEXTURE_CUBE_MAP?6:1));i%1==0?(t=i,e=i):(t=g,e=1)}return{width:t,height:e}}function l(A){r.textureColor=new Uint8Array([255*A[0],255*A[1],255*A[2],255*A[3]])}Y[6406]={textureFormat:6406,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[5121,5131,36193,5126]},Y[6409]={textureFormat:6409,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[5121,5131,36193,5126]},Y[6410]={textureFormat:6410,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2,4,4,8],type:[5121,5131,36193,5126]},Y[o]={textureFormat:o,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,6,6,12,2],type:[5121,5131,36193,5126,33635]},Y[6408]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,8,8,16,2,2],type:[5121,5131,36193,5126,32819,32820]},Y[33321]={textureFormat:6403,colorRenderable:!0,textureFilterable:!0,bytesPerElement:1,type:5121},Y[36756]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:1,type:5120},Y[33325]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4,2],type:[5126,5131]},Y[33326]={textureFormat:6403,colorRenderable:!1,textureFilterable:!1,bytesPerElement:4,type:5126},Y[33330]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:5121},Y[33329]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:5120},Y[33332]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5123},Y[33331]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5122},Y[33334]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5125},Y[33333]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5124},Y[33323]={textureFormat:w,colorRenderable:!0,textureFilterable:!0,bytesPerElement:2,type:5121},Y[36757]={textureFormat:w,colorRenderable:!1,textureFilterable:!0,bytesPerElement:2,type:5120},Y[33327]={textureFormat:w,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[8,4],type:[5126,5131]},Y[33328]={textureFormat:w,colorRenderable:!1,textureFilterable:!1,bytesPerElement:8,type:5126},Y[33336]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5121},Y[33335]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:5120},Y[33338]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5123},Y[33337]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5122},Y[33340]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5125},Y[33339]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5124},Y[32849]={textureFormat:o,colorRenderable:!0,textureFilterable:!0,bytesPerElement:3,type:5121},Y[35905]={textureFormat:o,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:5121},Y[36194]={textureFormat:o,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,2],type:[5121,33635]},Y[36758]={textureFormat:o,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:5120},Y[35898]={textureFormat:o,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[5126,5131,35899]},Y[35901]={textureFormat:o,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[5126,5131,35902]},Y[34843]={textureFormat:o,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6],type:[5126,5131]},Y[34837]={textureFormat:o,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:5126},Y[36221]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:5121},Y[36239]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:5120},Y[36215]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:5123},Y[36233]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:5122},Y[36209]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:5125},Y[36227]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:5124},Y[32856]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:5121},Y[35907]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:5121},Y[36759]={textureFormat:6408,colorRenderable:!1,textureFilterable:!0,bytesPerElement:4,type:5120},Y[32855]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2,4],type:[5121,32820,33640]},Y[32854]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2],type:[5121,32819]},Y[32857]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:33640},Y[34842]={textureFormat:6408,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[16,8],type:[5126,5131]},Y[34836]={textureFormat:6408,colorRenderable:!1,textureFilterable:!1,bytesPerElement:16,type:5126},Y[36220]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5121},Y[36238]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5120},Y[36975]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:33640},Y[36214]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5123},Y[36232]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:5122},Y[36226]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:5124},Y[36208]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:5125},Y[33189]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2,4],type:[5123,5125]},Y[33190]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5125},Y[36012]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:5126},Y[35056]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:34042},Y[36013]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:36269},Object.keys(Y).forEach((function(A){var B=Y[A];if(B.bytesPerElementMap={},Array.isArray(B.bytesPerElement))B.bytesPerElement.forEach((function(A,t){var e=B.type[t];B.bytesPerElementMap[e]=A}));else{var t=B.type;B.bytesPerElementMap[t]=B.bytesPerElement}}));var d={};function U(A,B){void 0!==B.colorspaceConversion&&(d.colorspaceConversion=A.getParameter(A.UNPACK_COLORSPACE_CONVERSION_WEBGL),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,B.colorspaceConversion)),void 0!==B.premultiplyAlpha&&(d.premultiplyAlpha=A.getParameter(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,B.premultiplyAlpha)),void 0!==B.flipY&&(d.flipY=A.getParameter(A.UNPACK_FLIP_Y_WEBGL),A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,B.flipY))}function N(A,B){void 0!==B.colorspaceConversion&&A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,d.colorspaceConversion),void 0!==B.premultiplyAlpha&&A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,d.premultiplyAlpha),void 0!==B.flipY&&A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,d.flipY)}function m(A){d.unpackAlignment=A.getParameter(A.UNPACK_ALIGNMENT),g.isWebGL2(A)&&(d.unpackRowLength=A.getParameter(A.UNPACK_ROW_LENGTH),d.unpackImageHeight=A.getParameter(A.UNPACK_IMAGE_HEIGHT),d.unpackSkipPixels=A.getParameter(A.UNPACK_SKIP_PIXELS),d.unpackSkipRows=A.getParameter(A.UNPACK_SKIP_ROWS),d.unpackSkipImages=A.getParameter(A.UNPACK_SKIP_IMAGES))}function G(A){A.pixelStorei(A.UNPACK_ALIGNMENT,d.unpackAlignment),g.isWebGL2(A)&&(A.pixelStorei(A.UNPACK_ROW_LENGTH,d.unpackRowLength),A.pixelStorei(A.UNPACK_IMAGE_HEIGHT,d.unpackImageHeight),A.pixelStorei(A.UNPACK_SKIP_PIXELS,d.unpackSkipPixels),A.pixelStorei(A.UNPACK_SKIP_ROWS,d.unpackSkipRows),A.pixelStorei(A.UNPACK_SKIP_IMAGES,d.unpackSkipImages))}function f(A,B,t,e){e.minMag&&(t.call(A,B,A.TEXTURE_MIN_FILTER,e.minMag),t.call(A,B,A.TEXTURE_MAG_FILTER,e.minMag)),e.min&&t.call(A,B,A.TEXTURE_MIN_FILTER,e.min),e.mag&&t.call(A,B,A.TEXTURE_MAG_FILTER,e.mag),e.wrap&&(t.call(A,B,A.TEXTURE_WRAP_S,e.wrap),t.call(A,B,A.TEXTURE_WRAP_T,e.wrap),(B===A.TEXTURE_3D||Q.isSampler(A,B))&&t.call(A,B,A.TEXTURE_WRAP_R,e.wrap)),e.wrapR&&t.call(A,B,A.TEXTURE_WRAP_R,e.wrapR),e.wrapS&&t.call(A,B,A.TEXTURE_WRAP_S,e.wrapS),e.wrapT&&t.call(A,B,A.TEXTURE_WRAP_T,e.wrapT),e.minLod&&t.call(A,B,A.TEXTURE_MIN_LOD,e.minLod),e.maxLod&&t.call(A,B,A.TEXTURE_MAX_LOD,e.maxLod),e.baseLevel&&t.call(A,B,A.TEXTURE_BASE_LEVEL,e.baseLevel),e.maxLevel&&t.call(A,B,A.TEXTURE_MAX_LEVEL,e.maxLevel)}function H(A,B,t){var e=t.target||A.TEXTURE_2D;A.bindTexture(e,B),f(A,e,A.texParameteri,t)}function R(A,B,t){f(A,B,A.samplerParameteri,t)}function p(A,B){var t=A.createSampler();return R(A,t,B),t}function y(A,B,t,e,i,Q,s){t=t||r.textureOptions,Q=Q||A.RGBA,s=s||A.UNSIGNED_BYTE;var n=t.target||A.TEXTURE_2D;if(e=e||t.width,i=i||t.height,A.bindTexture(n,B),function(A,B,t,e){if(!g.isWebGL2(A))return F(B)&&F(t);var i=I[e];if(!i)throw"unknown internal format";return i.colorRenderable&&i.textureFilterable}(A,e,i,Q))A.generateMipmap(n);else{var c=function(A){var B=I[A];if(!B)throw"unknown internal format";return B.textureFilterable}(Q)?A.LINEAR:A.NEAREST;A.texParameteri(n,A.TEXTURE_MIN_FILTER,c),A.texParameteri(n,A.TEXTURE_MAG_FILTER,c),A.texParameteri(n,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(n,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE)}}function J(A){return!0===A.auto||void 0===A.auto&&void 0===A.level}function k(A,B){return(B=B||{}).cubeFaceOrder||[A.TEXTURE_CUBE_MAP_POSITIVE_X,A.TEXTURE_CUBE_MAP_NEGATIVE_X,A.TEXTURE_CUBE_MAP_POSITIVE_Y,A.TEXTURE_CUBE_MAP_NEGATIVE_Y,A.TEXTURE_CUBE_MAP_POSITIVE_Z,A.TEXTURE_CUBE_MAP_NEGATIVE_Z]}function T(A,B){var t=k(A,B).map((function(A,B){return{face:A,ndx:B}}));return t.sort((function(A,B){return A.face-B.face})),t}function j(A,B,t,e){var g=(e=e||r.textureOptions).target||A.TEXTURE_2D,i=e.level||0,Q=t.width,n=t.height,c=e.internalFormat||e.format||A.RGBA,o=M(c),w=e.format||o.format,C=e.type||o.type;if(U(A,e),A.bindTexture(g,B),g===A.TEXTURE_CUBE_MAP){var a,I,Y=t.width,h=t.height;if(Y/6===h)a=h,I=[0,0,1,0,2,0,3,0,4,0,5,0];else if(h/6===Y)a=Y,I=[0,0,0,1,0,2,0,3,0,4,0,5];else if(Y/3==h/2)a=Y/3,I=[0,0,1,0,2,0,0,1,1,1,2,1];else{if(Y/2!=h/3)throw"can't figure out cube map from element: "+(t.src?t.src:t.nodeName);a=Y/2,I=[0,0,1,0,0,1,1,1,0,2,1,2]}E?(E.canvas.width=a,E.canvas.height=a,Q=a,n=a,T(A,e).forEach((function(B){var e=I[2*B.ndx+0]*a,g=I[2*B.ndx+1]*a;E.drawImage(t,e,g,a,a,0,0,a,a),A.texImage2D(B.face,i,c,w,C,E.canvas)})),E.canvas.width=1,E.canvas.height=1):s.default.createImageBitmap&&(Q=a,n=a,T(A,e).forEach((function(r){var E=I[2*r.ndx+0]*a,o=I[2*r.ndx+1]*a;A.texImage2D(r.face,i,c,a,a,0,w,C,null),s.default.createImageBitmap(t,E,o,a,a,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){U(A,e),A.bindTexture(g,B),A.texImage2D(r.face,i,c,w,C,t),N(A,e),J(e)&&y(A,B,e,Q,n,c,C)}))})))}else if(g===A.TEXTURE_3D||g===A.TEXTURE_2D_ARRAY){var F=Math.min(t.width,t.height),D=Math.max(t.width,t.height),u=D/F;if(u%1!=0)throw"can not compute 3D dimensions of element";var l=t.width===D?1:0,d=t.height===D?1:0;m(A),A.pixelStorei(A.UNPACK_ALIGNMENT,1),A.pixelStorei(A.UNPACK_ROW_LENGTH,t.width),A.pixelStorei(A.UNPACK_IMAGE_HEIGHT,0),A.pixelStorei(A.UNPACK_SKIP_IMAGES,0),A.texImage3D(g,i,c,F,F,F,0,w,C,null);for(var f=0;f=0?h(e,B):t.indexOf("tan")>=0||t.indexOf("binorm")>=0?I(e,B):t.indexOf("norm")>=0&&Y(e,B)})),A}function F(A,B,t){return A=A||2,{position:{numComponents:2,data:[(B=B||0)+-1*(A*=.5),(t=t||0)+-1*A,B+1*A,t+-1*A,B+-1*A,t+1*A,B+1*A,t+1*A]},normal:[0,0,1,0,0,1,0,0,1,0,0,1],texcoord:[0,0,1,0,0,1,1,1],indices:[0,1,2,2,1,3]}}function D(A,B,t,e,g){A=A||1,B=B||1,t=t||1,e=e||1,g=g||Q.identity();for(var i=(t+1)*(e+1),s=o(3,i),n=o(3,i),r=o(2,i),c=0;c<=e;c++)for(var E=0;E<=t;E++){var w=E/t,C=c/e;s.push(A*w-.5*A,0,B*C-.5*B),n.push(0,1,0),r.push(w,C)}for(var a=t+1,I=o(3,t*e*2,Uint16Array),Y=0;Y 0");e=e||0,i=i||0;for(var s=(g=g||Math.PI)-e,n=(Q=Q||2*Math.PI)-i,r=(B+1)*(t+1),c=o(3,r),E=o(3,r),w=o(2,r),C=0;C<=t;C++)for(var a=0;a<=B;a++){var I=a/B,Y=C/t,h=n*I,M=s*Y,F=Math.sin(h),D=Math.cos(h),u=Math.sin(M),l=D*u,d=Math.cos(M),U=F*u;c.push(A*l,A*d,A*U),E.push(l,d,U),w.push(1-I,Y)}for(var N=B+1,m=o(3,B*t*2,Uint16Array),G=0;Gg?(l=t,u=1,d=B):d=A+D/g*(B-A),-2!==D&&D!==g+2||(d=0,u=0),l-=t/2;for(var U=0;Ug?0:N*h,D<0?-1:D>g?1:M,D<0||D>g?0:m*h),C.push(U/e,1-u)}}for(var G=0;G 0");var n=(Q=Q||1)-(i=i||0),r=2*(g+1)*4,c=o(3,r),E=o(3,r),w=o(2,r);function C(A,B,t){return A+(B-A)*t}function a(B,t,Q,r,o,a){for(var I=0;I<=g;I++){var Y=t/1,h=I/g,M=2*(Y-.5),F=(i+h*n)*Math.PI,D=Math.sin(F),u=Math.cos(F),l=C(A,B,D),d=M*e,U=u*A,N=D*l;c.push(d,U,N);var m=s.add(s.multiply([0,D,u],Q),r);E.push(m),w.push(Y*o+a,h)}}for(var I=0;I<2;I++){var Y=2*(I/1-.5);a(B,I,[1,1,1],[0,0,0],1,0),a(B,I,[0,0,0],[Y,0,0],0,0),a(t,I,[1,1,1],[0,0,0],1,0),a(t,I,[0,0,0],[Y,0,0],0,1)}var h=o(3,2*g*4,Uint16Array);function M(A,B){for(var t=0;t0&&I!==B){var F=c+(I+1),D=c+I,u=c+I-w,l=c+(I+1)-w;r.push(F,D,u),r.push(F,u,l)}}c+=B+1}return{position:Q,normal:s,texcoord:n,indices:r}}function p(A){return function(B){var t=A.apply(this,Array.prototype.slice.call(arguments,1));return e.createBuffersFromArrays(B,t)}}function y(A){return function(B){var t=A.apply(null,Array.prototype.slice.call(arguments,1));return e.createBufferInfoFromArrays(B,t)}}var J=["numComponents","size","type","normalize","stride","offset","attrib","name","attribName"];function k(A,B,t,e){e=e||0;for(var g=A.length,i=0;i + * @license MIT + */ +var e=t(110),g=t(111),i=t(112);function Q(){return n.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(A,B){if(Q()=Q())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q().toString(16)+" bytes");return 0|A}function C(A,B){if(n.isBuffer(A))return A.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(A)||A instanceof ArrayBuffer))return A.byteLength;"string"!=typeof A&&(A=""+A);var t=A.length;if(0===t)return 0;for(var e=!1;;)switch(B){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":case void 0:return b(A).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return z(A).length;default:if(e)return b(A).length;B=(""+B).toLowerCase(),e=!0}}function a(A,B,t){var e=!1;if((void 0===B||B<0)&&(B=0),B>this.length)return"";if((void 0===t||t>this.length)&&(t=this.length),t<=0)return"";if((t>>>=0)<=(B>>>=0))return"";for(A||(A="utf8");;)switch(A){case"hex":return f(this,B,t);case"utf8":case"utf-8":return N(this,B,t);case"ascii":return m(this,B,t);case"latin1":case"binary":return G(this,B,t);case"base64":return U(this,B,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,B,t);default:if(e)throw new TypeError("Unknown encoding: "+A);A=(A+"").toLowerCase(),e=!0}}function I(A,B,t){var e=A[B];A[B]=A[t],A[t]=e}function Y(A,B,t,e,g){if(0===A.length)return-1;if("string"==typeof t?(e=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,isNaN(t)&&(t=g?0:A.length-1),t<0&&(t=A.length+t),t>=A.length){if(g)return-1;t=A.length-1}else if(t<0){if(!g)return-1;t=0}if("string"==typeof B&&(B=n.from(B,e)),n.isBuffer(B))return 0===B.length?-1:h(A,B,t,e,g);if("number"==typeof B)return B&=255,n.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?g?Uint8Array.prototype.indexOf.call(A,B,t):Uint8Array.prototype.lastIndexOf.call(A,B,t):h(A,[B],t,e,g);throw new TypeError("val must be string, number or Buffer")}function h(A,B,t,e,g){var i,Q=1,s=A.length,n=B.length;if(void 0!==e&&("ucs2"===(e=String(e).toLowerCase())||"ucs-2"===e||"utf16le"===e||"utf-16le"===e)){if(A.length<2||B.length<2)return-1;Q=2,s/=2,n/=2,t/=2}function r(A,B){return 1===Q?A[B]:A.readUInt16BE(B*Q)}if(g){var c=-1;for(i=t;is&&(t=s-n),i=t;i>=0;i--){for(var E=!0,o=0;og&&(e=g):e=g;var i=B.length;if(i%2!=0)throw new TypeError("Invalid hex string");e>i/2&&(e=i/2);for(var Q=0;Q>8,g=t%256,i.push(g),i.push(e);return i}(B,A.length-t),A,t,e)}function U(A,B,t){return 0===B&&t===A.length?e.fromByteArray(A):e.fromByteArray(A.slice(B,t))}function N(A,B,t){t=Math.min(A.length,t);for(var e=[],g=B;g239?4:r>223?3:r>191?2:1;if(g+E<=t)switch(E){case 1:r<128&&(c=r);break;case 2:128==(192&(i=A[g+1]))&&(n=(31&r)<<6|63&i)>127&&(c=n);break;case 3:i=A[g+1],Q=A[g+2],128==(192&i)&&128==(192&Q)&&(n=(15&r)<<12|(63&i)<<6|63&Q)>2047&&(n<55296||n>57343)&&(c=n);break;case 4:i=A[g+1],Q=A[g+2],s=A[g+3],128==(192&i)&&128==(192&Q)&&128==(192&s)&&(n=(15&r)<<18|(63&i)<<12|(63&Q)<<6|63&s)>65535&&n<1114112&&(c=n)}null===c?(c=65533,E=1):c>65535&&(c-=65536,e.push(c>>>10&1023|55296),c=56320|1023&c),e.push(c),g+=E}return function(A){var B=A.length;if(B<=4096)return String.fromCharCode.apply(String,A);var t="",e=0;for(;e0&&(A=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(A+=" ... ")),""},n.prototype.compare=function(A,B,t,e,g){if(!n.isBuffer(A))throw new TypeError("Argument must be a Buffer");if(void 0===B&&(B=0),void 0===t&&(t=A?A.length:0),void 0===e&&(e=0),void 0===g&&(g=this.length),B<0||t>A.length||e<0||g>this.length)throw new RangeError("out of range index");if(e>=g&&B>=t)return 0;if(e>=g)return-1;if(B>=t)return 1;if(this===A)return 0;for(var i=(g>>>=0)-(e>>>=0),Q=(t>>>=0)-(B>>>=0),s=Math.min(i,Q),r=this.slice(e,g),c=A.slice(B,t),E=0;Eg)&&(t=g),A.length>0&&(t<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");e||(e="utf8");for(var i=!1;;)switch(e){case"hex":return M(this,A,B,t);case"utf8":case"utf-8":return F(this,A,B,t);case"ascii":return D(this,A,B,t);case"latin1":case"binary":return u(this,A,B,t);case"base64":return l(this,A,B,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return d(this,A,B,t);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(""+e).toLowerCase(),i=!0}},n.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function m(A,B,t){var e="";t=Math.min(A.length,t);for(var g=B;ge)&&(t=e);for(var g="",i=B;it)throw new RangeError("Trying to access beyond buffer length")}function p(A,B,t,e,g,i){if(!n.isBuffer(A))throw new TypeError('"buffer" argument must be a Buffer instance');if(B>g||BA.length)throw new RangeError("Index out of range")}function y(A,B,t,e){B<0&&(B=65535+B+1);for(var g=0,i=Math.min(A.length-t,2);g>>8*(e?g:1-g)}function J(A,B,t,e){B<0&&(B=4294967295+B+1);for(var g=0,i=Math.min(A.length-t,4);g>>8*(e?g:3-g)&255}function k(A,B,t,e,g,i){if(t+e>A.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function T(A,B,t,e,i){return i||k(A,0,t,4),g.write(A,B,t,e,23,4),t+4}function j(A,B,t,e,i){return i||k(A,0,t,8),g.write(A,B,t,e,52,8),t+8}n.prototype.slice=function(A,B){var t,e=this.length;if((A=~~A)<0?(A+=e)<0&&(A=0):A>e&&(A=e),(B=void 0===B?e:~~B)<0?(B+=e)<0&&(B=0):B>e&&(B=e),B0&&(g*=256);)e+=this[A+--B]*g;return e},n.prototype.readUInt8=function(A,B){return B||R(A,1,this.length),this[A]},n.prototype.readUInt16LE=function(A,B){return B||R(A,2,this.length),this[A]|this[A+1]<<8},n.prototype.readUInt16BE=function(A,B){return B||R(A,2,this.length),this[A]<<8|this[A+1]},n.prototype.readUInt32LE=function(A,B){return B||R(A,4,this.length),(this[A]|this[A+1]<<8|this[A+2]<<16)+16777216*this[A+3]},n.prototype.readUInt32BE=function(A,B){return B||R(A,4,this.length),16777216*this[A]+(this[A+1]<<16|this[A+2]<<8|this[A+3])},n.prototype.readIntLE=function(A,B,t){A|=0,B|=0,t||R(A,B,this.length);for(var e=this[A],g=1,i=0;++i=(g*=128)&&(e-=Math.pow(2,8*B)),e},n.prototype.readIntBE=function(A,B,t){A|=0,B|=0,t||R(A,B,this.length);for(var e=B,g=1,i=this[A+--e];e>0&&(g*=256);)i+=this[A+--e]*g;return i>=(g*=128)&&(i-=Math.pow(2,8*B)),i},n.prototype.readInt8=function(A,B){return B||R(A,1,this.length),128&this[A]?-1*(255-this[A]+1):this[A]},n.prototype.readInt16LE=function(A,B){B||R(A,2,this.length);var t=this[A]|this[A+1]<<8;return 32768&t?4294901760|t:t},n.prototype.readInt16BE=function(A,B){B||R(A,2,this.length);var t=this[A+1]|this[A]<<8;return 32768&t?4294901760|t:t},n.prototype.readInt32LE=function(A,B){return B||R(A,4,this.length),this[A]|this[A+1]<<8|this[A+2]<<16|this[A+3]<<24},n.prototype.readInt32BE=function(A,B){return B||R(A,4,this.length),this[A]<<24|this[A+1]<<16|this[A+2]<<8|this[A+3]},n.prototype.readFloatLE=function(A,B){return B||R(A,4,this.length),g.read(this,A,!0,23,4)},n.prototype.readFloatBE=function(A,B){return B||R(A,4,this.length),g.read(this,A,!1,23,4)},n.prototype.readDoubleLE=function(A,B){return B||R(A,8,this.length),g.read(this,A,!0,52,8)},n.prototype.readDoubleBE=function(A,B){return B||R(A,8,this.length),g.read(this,A,!1,52,8)},n.prototype.writeUIntLE=function(A,B,t,e){(A=+A,B|=0,t|=0,e)||p(this,A,B,t,Math.pow(2,8*t)-1,0);var g=1,i=0;for(this[B]=255&A;++i=0&&(i*=256);)this[B+g]=A/i&255;return B+t},n.prototype.writeUInt8=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,1,255,0),n.TYPED_ARRAY_SUPPORT||(A=Math.floor(A)),this[B]=255&A,B+1},n.prototype.writeUInt16LE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,2,65535,0),n.TYPED_ARRAY_SUPPORT?(this[B]=255&A,this[B+1]=A>>>8):y(this,A,B,!0),B+2},n.prototype.writeUInt16BE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,2,65535,0),n.TYPED_ARRAY_SUPPORT?(this[B]=A>>>8,this[B+1]=255&A):y(this,A,B,!1),B+2},n.prototype.writeUInt32LE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,4,4294967295,0),n.TYPED_ARRAY_SUPPORT?(this[B+3]=A>>>24,this[B+2]=A>>>16,this[B+1]=A>>>8,this[B]=255&A):J(this,A,B,!0),B+4},n.prototype.writeUInt32BE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,4,4294967295,0),n.TYPED_ARRAY_SUPPORT?(this[B]=A>>>24,this[B+1]=A>>>16,this[B+2]=A>>>8,this[B+3]=255&A):J(this,A,B,!1),B+4},n.prototype.writeIntLE=function(A,B,t,e){if(A=+A,B|=0,!e){var g=Math.pow(2,8*t-1);p(this,A,B,t,g-1,-g)}var i=0,Q=1,s=0;for(this[B]=255&A;++i>0)-s&255;return B+t},n.prototype.writeIntBE=function(A,B,t,e){if(A=+A,B|=0,!e){var g=Math.pow(2,8*t-1);p(this,A,B,t,g-1,-g)}var i=t-1,Q=1,s=0;for(this[B+i]=255&A;--i>=0&&(Q*=256);)A<0&&0===s&&0!==this[B+i+1]&&(s=1),this[B+i]=(A/Q>>0)-s&255;return B+t},n.prototype.writeInt8=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,1,127,-128),n.TYPED_ARRAY_SUPPORT||(A=Math.floor(A)),A<0&&(A=255+A+1),this[B]=255&A,B+1},n.prototype.writeInt16LE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,2,32767,-32768),n.TYPED_ARRAY_SUPPORT?(this[B]=255&A,this[B+1]=A>>>8):y(this,A,B,!0),B+2},n.prototype.writeInt16BE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,2,32767,-32768),n.TYPED_ARRAY_SUPPORT?(this[B]=A>>>8,this[B+1]=255&A):y(this,A,B,!1),B+2},n.prototype.writeInt32LE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,4,2147483647,-2147483648),n.TYPED_ARRAY_SUPPORT?(this[B]=255&A,this[B+1]=A>>>8,this[B+2]=A>>>16,this[B+3]=A>>>24):J(this,A,B,!0),B+4},n.prototype.writeInt32BE=function(A,B,t){return A=+A,B|=0,t||p(this,A,B,4,2147483647,-2147483648),A<0&&(A=4294967295+A+1),n.TYPED_ARRAY_SUPPORT?(this[B]=A>>>24,this[B+1]=A>>>16,this[B+2]=A>>>8,this[B+3]=255&A):J(this,A,B,!1),B+4},n.prototype.writeFloatLE=function(A,B,t){return T(this,A,B,!0,t)},n.prototype.writeFloatBE=function(A,B,t){return T(this,A,B,!1,t)},n.prototype.writeDoubleLE=function(A,B,t){return j(this,A,B,!0,t)},n.prototype.writeDoubleBE=function(A,B,t){return j(this,A,B,!1,t)},n.prototype.copy=function(A,B,t,e){if(t||(t=0),e||0===e||(e=this.length),B>=A.length&&(B=A.length),B||(B=0),e>0&&e=this.length)throw new RangeError("sourceStart out of bounds");if(e<0)throw new RangeError("sourceEnd out of bounds");e>this.length&&(e=this.length),A.length-B=0;--g)A[g+B]=this[g+t];else if(i<1e3||!n.TYPED_ARRAY_SUPPORT)for(g=0;g>>=0,t=void 0===t?this.length:t>>>0,A||(A=0),"number"==typeof A)for(i=B;i55295&&t<57344){if(!g){if(t>56319){(B-=3)>-1&&i.push(239,191,189);continue}if(Q+1===e){(B-=3)>-1&&i.push(239,191,189);continue}g=t;continue}if(t<56320){(B-=3)>-1&&i.push(239,191,189),g=t;continue}t=65536+(g-55296<<10|t-56320)}else g&&(B-=3)>-1&&i.push(239,191,189);if(g=null,t<128){if((B-=1)<0)break;i.push(t)}else if(t<2048){if((B-=2)<0)break;i.push(t>>6|192,63&t|128)}else if(t<65536){if((B-=3)<0)break;i.push(t>>12|224,t>>6&63|128,63&t|128)}else{if(!(t<1114112))throw new Error("Invalid code point");if((B-=4)<0)break;i.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return i}function z(A){return e.toByteArray(function(A){if((A=function(A){return A.trim?A.trim():A.replace(/^\s+|\s+$/g,"")}(A).replace(x,"")).length<2)return"";for(;A.length%4!=0;)A+="=";return A}(A))}function L(A,B,t,e){for(var g=0;g=B.length||g>=A.length);++g)B[g+t]=A[g];return g}}).call(this,t(8))},function(A,B,t){function e(){}t(117).mixin(e),e.prototype.write=function(A,B,t){this.emit("item",A,B,t)},e.prototype.end=function(){this.emit("end"),this.removeAllListeners()},e.prototype.pipe=function(A){var B=this;function t(){A.write.apply(A,Array.prototype.slice.call(arguments))}function e(){!A._isStdio&&A.end()}return B.emit("unpipe",A),A.emit("pipe",B),B.on("item",t),B.on("end",e),B.when("unpipe",(function(g){var i=g===A||void 0===g;return i&&(B.removeListener("item",t),B.removeListener("end",e),A.emit("unpipe")),i})),A},e.prototype.unpipe=function(A){return this.emit("unpipe",A),this},e.prototype.format=function(A){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require('minilog');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\n"))},e.mixin=function(A){var B,t=e.prototype;for(B in t)t.hasOwnProperty(B)&&(A.prototype[B]=t[B])},A.exports=e},function(A,B){A.exports=class{static simple(A){return JSON.parse(JSON.stringify(A))}}},function(A,B){class t{static get BACKGROUND_LAYER(){return"background"}static get VIDEO_LAYER(){return"video"}static get PEN_LAYER(){return"pen"}static get SPRITE_LAYER(){return"sprite"}static get LAYER_GROUPS(){return[t.BACKGROUND_LAYER,t.VIDEO_LAYER,t.PEN_LAYER,t.SPRITE_LAYER]}}A.exports=t},function(A,B,t){(function(B){class t{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.nowObj;this.startTime=0,this.nowObj=A}static get USE_PERFORMANCE(){return!1}static get legacyDateCode(){return{now:function(){return(new Date).getTime()}}}static get nowObj(){return t.USE_PERFORMANCE&&"undefined"!=typeof self&&self.performance&&"now"in self.performance?self.performance:Date.now?Date:t.legacyDateCode}time(){return this.nowObj.now()}relativeTime(){return this.nowObj.now()}start(){this.startTime=this.nowObj.now()}timeElapsed(){return this.nowObj.now()-this.startTime}setTimeout(A,t){return B.setTimeout(A,t)}clearTimeout(A){B.clearTimeout(A)}}A.exports=t}).call(this,t(8))},function(A,B,t){const e=t(132),g=t(62),i=t(28),Q=t(40),s=t(13),{Map:n}=t(24),r=t(64),c=t(65),E=t(0),o=t(9),w=t(41);class C{constructor(A,B){this.runtime=A,this._blocks={},this._scripts=[],Object.defineProperty(this,"_cache",{writable:!0,enumerable:!1}),this._cache={inputs:{},procedureParamNames:{},procedureDefinitions:{},_executeCached:{},_monitored:null,scripts:{},compiledScripts:{},compiledProcedures:{},proceduresPopulated:!1},this.forceNoGlow=B||!1}getCachedCompileResult(A){return this._cache.compiledScripts.hasOwnProperty(A)?this._cache.compiledScripts[A]:null}cacheCompileResult(A,B){this._cache.compiledScripts[A]={success:!0,value:B}}cacheCompileError(A,B){this._cache.compiledScripts[A]={success:!1,value:B}}static get BRANCH_INPUT_PREFIX(){return"SUBSTACK"}getBlock(A){return this._blocks[A]}getScripts(){return this._scripts}getNextBlock(A){const B=this._blocks[A];return void 0===B?null:B.next}getBranch(A,B){const t=this._blocks[A];if(void 0===t)return null;B||(B=1);let e=C.BRANCH_INPUT_PREFIX;B>1&&(e+=B);const g=t.inputs[e];return void 0===g?null:g.block}getOpcode(A){return void 0===A?null:A.opcode}getFields(A){return void 0===A?null:A.fields}getInputs(A){if(void 0===A)return null;let B=this._cache.inputs[A.id];if(void 0!==B)return B;B={};for(const t in A.inputs)t.substring(0,C.BRANCH_INPUT_PREFIX.length)!==C.BRANCH_INPUT_PREFIX&&(B[t]=A.inputs[t]);return this._cache.inputs[A.id]=B,B}getMutation(A){return void 0===A?null:A.mutation}getTopLevelScript(A){let B=this._blocks[A];if(void 0===B)return null;for(;null!==B.parent;)B=this._blocks[B.parent];return B.id}getProcedureDefinition(A){const B=this._cache.procedureDefinitions[A];if(void 0!==B)return B;for(const B in this._blocks){if(!this._blocks.hasOwnProperty(B))continue;const t=this._blocks[B];if("procedures_definition"===t.opcode){const e=this._getCustomBlockInternal(t);if(e&&e.mutation.proccode===A)return this._cache.procedureDefinitions[A]=B,B}}return this._cache.procedureDefinitions[A]=null,null}getProcedureParamNamesAndIds(A){return this.getProcedureParamNamesIdsAndDefaults(A).slice(0,2)}getProcedureParamNamesIdsAndDefaults(A){const B=this._cache.procedureParamNames[A];if(void 0!==B)return B;for(const B in this._blocks){if(!this._blocks.hasOwnProperty(B))continue;const t=this._blocks[B];if("procedures_prototype"===t.opcode&&t.mutation.proccode===A){const B=JSON.parse(t.mutation.argumentnames),e=JSON.parse(t.mutation.argumentids),g=JSON.parse(t.mutation.argumentdefaults);return this._cache.procedureParamNames[A]=[B,e,g],this._cache.procedureParamNames[A]}}const t=this.runtime.getAddonBlock(A);return t?(this._cache.procedureParamNames[A]=t.namesIdsDefaults,t.namesIdsDefaults):(this._cache.procedureParamNames[A]=null,null)}populateProcedureCache(){if(!this._cache.proceduresPopulated){for(const A in this._blocks){if(!this._blocks.hasOwnProperty(A))continue;const B=this._blocks[A];if("procedures_prototype"!==B.opcode){if("procedures_definition"===B.opcode){const t=this._getCustomBlockInternal(B);if(t){const B=t.mutation.proccode;this._cache.procedureDefinitions[B]||(this._cache.procedureDefinitions[B]=A);continue}}}else{const A=B.mutation.proccode;if(!this._cache.procedureParamNames[A]){const t=JSON.parse(B.mutation.argumentnames),e=JSON.parse(B.mutation.argumentids),g=JSON.parse(B.mutation.argumentdefaults);this._cache.procedureParamNames[A]=[t,e,g]}}}this._cache.proceduresPopulated=!0}}duplicate(){const A=new C(this.runtime,this.forceNoGlow);return A._blocks=s.simple(this._blocks),A._scripts=s.simple(this._scripts),A}blocklyListen(A){if("object"!=typeof A)return;if("string"!=typeof A.blockId&&"string"!=typeof A.varId&&"string"!=typeof A.commentId)return;const B=this.runtime.getTargetForStage(),t=this.runtime.getEditingTarget();if("stackclick"!==A.element)switch(A.type){case"create":{const B=e(A);for(let A=0;AA.isOriginal);for(const B of t)if(B.lookupVariableByNameAndType(A.varName,A.varType,!0))return;B.createVariable(A.varId,A.varName,A.varType,A.isCloud),this.emitProjectChanged()}break;case"var_rename":if(t&&t.variables.hasOwnProperty(A.varId))t.renameVariable(A.varId,A.newName),t.blocks.updateBlocksAfterVarRename(A.varId,A.newName);else{B.renameVariable(A.varId,A.newName);const t=this.runtime.targets;for(let B=0;B0&&"data_variable"!==B.opcode&&"data_listcontents"!==B.opcode){const A=w(B.id,B.fields);let t=this.runtime.monitorBlocks.getBlock(A);t||(t=JSON.parse(JSON.stringify(B)),t.id=A,this.runtime.monitorBlocks.createBlock(t)),B=t}const t=B.isMonitored;B.isMonitored=A.value;let e=!1;"data_variable"===B.opcode?e=!this.runtime.getTargetForStage().variables[B.fields.VARIABLE.id]:"data_listcontents"===B.opcode&&(e=!this.runtime.getTargetForStage().variables[B.fields.LIST.id]);const g=e||this.runtime.monitorBlockInfo.hasOwnProperty(B.opcode)&&this.runtime.monitorBlockInfo[B.opcode].isSpriteSpecific;B.targetId=g?B.targetId||this.runtime.getEditingTarget().id:null,t&&!B.isMonitored?this.runtime.requestHideMonitor(B.id):!t&&B.isMonitored&&(this.runtime.requestShowMonitor(B.id)||this.runtime.requestAddMonitor(Q({id:B.id,targetId:B.targetId,spriteName:B.targetId?this.runtime.getTargetById(B.targetId).getName():null,opcode:B.opcode,params:this._getBlockParams(B),value:"",mode:"data_listcontents"===B.opcode?"list":"default"})));break}}this.emitProjectChanged(),this.resetCache()}}moveBlock(A){if(!this._blocks.hasOwnProperty(A.id))return;const B=this._blocks[A.id];let t=!1;if(A.newCoordinate&&(t=B.x!==A.newCoordinate.x||B.y!==A.newCoordinate.y,B.x=A.newCoordinate.x,B.y=A.newCoordinate.y),void 0!==A.oldParent){const B=this._blocks[A.oldParent];void 0!==A.oldInput&&B.inputs[A.oldInput].block===A.id?B.inputs[A.oldInput].block=null:B.next===A.id&&(B.next=null),this._blocks[A.id].parent=null,t=!0}if(void 0===A.newParent)this._addScript(A.id);else{if(this._deleteScript(A.id),void 0===A.newInput)this._blocks[A.newParent].next=A.id;else{let B=null;this._blocks[A.newParent].inputs.hasOwnProperty(A.newInput)&&(B=this._blocks[A.newParent].inputs[A.newInput].shadow),this._blocks[A.id].shadow&&(B=A.id),this._blocks[A.newParent].inputs[A.newInput]={name:A.newInput,block:A.id,shadow:B}}this._blocks[A.id].parent=A.newParent,t=!0}this.resetCache(),t&&this.emitProjectChanged()}runAllMonitored(A){null===this._cache._monitored&&(this._cache._monitored=Object.keys(this._blocks).filter(A=>this.getBlock(A).isMonitored).map(B=>{const t=this.getBlock(B).targetId;return{blockId:B,target:t?A.getTargetById(t):null}}));const B=this._cache._monitored;for(let t=0;tthis.blockToXML(B,A)).join()}blockToXML(A,B){const t=this._blocks[A];if(!t)return;const e=t.shadow?"shadow":"block";let g="<".concat(e,'\n id="').concat(t.id,'"\n type="').concat(t.opcode,'"\n ').concat(t.topLevel?'x="'.concat(t.x,'" y="').concat(t.y,'"'):"","\n >");const Q=t.comment;Q&&(B?B.hasOwnProperty(Q)?g+=B[Q].toXML():E.warn("Could not find comment with id: ".concat(Q," in provided comment descriptions.")):E.warn("Cannot serialize comment with id: ".concat(Q,"; no comment descriptions provided."))),t.mutation&&(g+=this.mutationToXML(t.mutation));for(const A in t.inputs){if(!t.inputs.hasOwnProperty(A))continue;const e=t.inputs[A];(e.block||e.shadow)&&(g+=''),e.block&&(g+=this.blockToXML(e.block,B)),e.shadow&&e.shadow!==e.block&&(g+=this.blockToXML(e.shadow,B)),g+="")}for(const A in t.fields){if(!t.fields.hasOwnProperty(A))continue;const B=t.fields[A];g+='".concat(s,"")}return t.next&&(g+="".concat(this.blockToXML(t.next,B),"")),g+=""),g}mutationToXML(A){let B="<".concat(A.tagName);for(const t in A){if("children"===t||"tagName"===t)continue;let e="string"==typeof A[t]?i(A[t]):A[t];"blockInfo"===t&&(e=i(JSON.stringify(A[t]))),B+=" ".concat(t,'="').concat(e,'"')}B+=">";for(let t=0;t"),B}_getBlockParams(A){const B={};for(const t in A.fields)B[t]=A.fields[t].value;for(const t in A.inputs){const e=this._blocks[A.inputs[t].block];for(const A in e.fields)B[A]=e.fields[A].value}return B}_getCustomBlockInternal(A){if(A.inputs&&A.inputs.custom_block)return this._blocks[A.inputs.custom_block.block]}_addScript(A){this._scripts.indexOf(A)>-1||(this._scripts.push(A),this._blocks[A].topLevel=!0)}_deleteScript(A){const B=this._scripts.indexOf(A);B>-1&&this._scripts.splice(B,1),this._blocks[A]&&(this._blocks[A].topLevel=!1)}}r.getCached=function(A,B,t){let e=A._cache._executeCached[B];if(void 0!==e)return e;const g=A.getBlock(B);return void 0===g?null:(e=void 0===t?{id:B,opcode:A.getOpcode(g),fields:A.getFields(g),inputs:A.getInputs(g),mutation:A.getMutation(g)}:new t(A,{id:B,opcode:A.getOpcode(g),fields:A.getFields(g),inputs:A.getInputs(g),mutation:A.getMutation(g)}),A._cache._executeCached[B]=e,e)};const a=c._RuntimeScriptCache;c.getScripts=function(A,B){let t=A._cache.scripts[B];if(!t){t=A._cache.scripts[B]=[];const e=A._scripts;for(let g=0;g>2]|=A[i]<>6,n[g++]=128|63&e):e<55296||e>=57344?(n[g++]=224|e>>12,n[g++]=128|e>>6&63,n[g++]=128|63&e):(e=65536+((1023&e)<<10|1023&A.charCodeAt(++i)),n[g++]=240|e>>18,n[g++]=128|e>>12&63,n[g++]=128|e>>6&63,n[g++]=128|63&e);else for(g=this.start;i>2]|=e<>2]|=(192|e>>6)<>2]|=(128|63&e)<=57344?(s[g>>2]|=(224|e>>12)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<>2]|=(240|e>>18)<>2]|=(128|e>>12&63)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<=64?(this.start=g-64,this.hash(),this.hashed=!0):this.start=g}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var A=this.blocks,B=this.lastByteIndex;A[B>>2]|=EXTRA[3&B],B>=56&&(this.hashed||this.hash(),A[0]=A[16],A[16]=A[1]=A[2]=A[3]=A[4]=A[5]=A[6]=A[7]=A[8]=A[9]=A[10]=A[11]=A[12]=A[13]=A[14]=A[15]=0),A[14]=this.bytes<<3,A[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var A,B,t,e,g,i,Q=this.blocks;this.first?B=((B=((A=((A=Q[0]-680876937)<<7|A>>>25)-271733879<<0)^(t=((t=(-271733879^(e=((e=(-1732584194^2004318071&A)+Q[1]-117830708)<<12|e>>>20)+A<<0)&(-271733879^A))+Q[2]-1126478375)<<17|t>>>15)+e<<0)&(e^A))+Q[3]-1316259209)<<22|B>>>10)+t<<0:(A=this.h0,B=this.h1,t=this.h2,B=((B+=((A=((A+=((e=this.h3)^B&(t^e))+Q[0]-680876936)<<7|A>>>25)+B<<0)^(t=((t+=(B^(e=((e+=(t^A&(B^t))+Q[1]-389564586)<<12|e>>>20)+A<<0)&(A^B))+Q[2]+606105819)<<17|t>>>15)+e<<0)&(e^A))+Q[3]-1044525330)<<22|B>>>10)+t<<0),B=((B+=((A=((A+=(e^B&(t^e))+Q[4]-176418897)<<7|A>>>25)+B<<0)^(t=((t+=(B^(e=((e+=(t^A&(B^t))+Q[5]+1200080426)<<12|e>>>20)+A<<0)&(A^B))+Q[6]-1473231341)<<17|t>>>15)+e<<0)&(e^A))+Q[7]-45705983)<<22|B>>>10)+t<<0,B=((B+=((A=((A+=(e^B&(t^e))+Q[8]+1770035416)<<7|A>>>25)+B<<0)^(t=((t+=(B^(e=((e+=(t^A&(B^t))+Q[9]-1958414417)<<12|e>>>20)+A<<0)&(A^B))+Q[10]-42063)<<17|t>>>15)+e<<0)&(e^A))+Q[11]-1990404162)<<22|B>>>10)+t<<0,B=((B+=((A=((A+=(e^B&(t^e))+Q[12]+1804603682)<<7|A>>>25)+B<<0)^(t=((t+=(B^(e=((e+=(t^A&(B^t))+Q[13]-40341101)<<12|e>>>20)+A<<0)&(A^B))+Q[14]-1502002290)<<17|t>>>15)+e<<0)&(e^A))+Q[15]+1236535329)<<22|B>>>10)+t<<0,B=((B+=((e=((e+=(B^t&((A=((A+=(t^e&(B^t))+Q[1]-165796510)<<5|A>>>27)+B<<0)^B))+Q[6]-1069501632)<<9|e>>>23)+A<<0)^A&((t=((t+=(A^B&(e^A))+Q[11]+643717713)<<14|t>>>18)+e<<0)^e))+Q[0]-373897302)<<20|B>>>12)+t<<0,B=((B+=((e=((e+=(B^t&((A=((A+=(t^e&(B^t))+Q[5]-701558691)<<5|A>>>27)+B<<0)^B))+Q[10]+38016083)<<9|e>>>23)+A<<0)^A&((t=((t+=(A^B&(e^A))+Q[15]-660478335)<<14|t>>>18)+e<<0)^e))+Q[4]-405537848)<<20|B>>>12)+t<<0,B=((B+=((e=((e+=(B^t&((A=((A+=(t^e&(B^t))+Q[9]+568446438)<<5|A>>>27)+B<<0)^B))+Q[14]-1019803690)<<9|e>>>23)+A<<0)^A&((t=((t+=(A^B&(e^A))+Q[3]-187363961)<<14|t>>>18)+e<<0)^e))+Q[8]+1163531501)<<20|B>>>12)+t<<0,B=((B+=((e=((e+=(B^t&((A=((A+=(t^e&(B^t))+Q[13]-1444681467)<<5|A>>>27)+B<<0)^B))+Q[2]-51403784)<<9|e>>>23)+A<<0)^A&((t=((t+=(A^B&(e^A))+Q[7]+1735328473)<<14|t>>>18)+e<<0)^e))+Q[12]-1926607734)<<20|B>>>12)+t<<0,B=((B+=((i=(e=((e+=((g=B^t)^(A=((A+=(g^e)+Q[5]-378558)<<4|A>>>28)+B<<0))+Q[8]-2022574463)<<11|e>>>21)+A<<0)^A)^(t=((t+=(i^B)+Q[11]+1839030562)<<16|t>>>16)+e<<0))+Q[14]-35309556)<<23|B>>>9)+t<<0,B=((B+=((i=(e=((e+=((g=B^t)^(A=((A+=(g^e)+Q[1]-1530992060)<<4|A>>>28)+B<<0))+Q[4]+1272893353)<<11|e>>>21)+A<<0)^A)^(t=((t+=(i^B)+Q[7]-155497632)<<16|t>>>16)+e<<0))+Q[10]-1094730640)<<23|B>>>9)+t<<0,B=((B+=((i=(e=((e+=((g=B^t)^(A=((A+=(g^e)+Q[13]+681279174)<<4|A>>>28)+B<<0))+Q[0]-358537222)<<11|e>>>21)+A<<0)^A)^(t=((t+=(i^B)+Q[3]-722521979)<<16|t>>>16)+e<<0))+Q[6]+76029189)<<23|B>>>9)+t<<0,B=((B+=((i=(e=((e+=((g=B^t)^(A=((A+=(g^e)+Q[9]-640364487)<<4|A>>>28)+B<<0))+Q[12]-421815835)<<11|e>>>21)+A<<0)^A)^(t=((t+=(i^B)+Q[15]+530742520)<<16|t>>>16)+e<<0))+Q[2]-995338651)<<23|B>>>9)+t<<0,B=((B+=((e=((e+=(B^((A=((A+=(t^(B|~e))+Q[0]-198630844)<<6|A>>>26)+B<<0)|~t))+Q[7]+1126891415)<<10|e>>>22)+A<<0)^((t=((t+=(A^(e|~B))+Q[14]-1416354905)<<15|t>>>17)+e<<0)|~A))+Q[5]-57434055)<<21|B>>>11)+t<<0,B=((B+=((e=((e+=(B^((A=((A+=(t^(B|~e))+Q[12]+1700485571)<<6|A>>>26)+B<<0)|~t))+Q[3]-1894986606)<<10|e>>>22)+A<<0)^((t=((t+=(A^(e|~B))+Q[10]-1051523)<<15|t>>>17)+e<<0)|~A))+Q[1]-2054922799)<<21|B>>>11)+t<<0,B=((B+=((e=((e+=(B^((A=((A+=(t^(B|~e))+Q[8]+1873313359)<<6|A>>>26)+B<<0)|~t))+Q[15]-30611744)<<10|e>>>22)+A<<0)^((t=((t+=(A^(e|~B))+Q[6]-1560198380)<<15|t>>>17)+e<<0)|~A))+Q[13]+1309151649)<<21|B>>>11)+t<<0,B=((B+=((e=((e+=(B^((A=((A+=(t^(B|~e))+Q[4]-145523070)<<6|A>>>26)+B<<0)|~t))+Q[11]-1120210379)<<10|e>>>22)+A<<0)^((t=((t+=(A^(e|~B))+Q[2]+718787259)<<15|t>>>17)+e<<0)|~A))+Q[9]-343485551)<<21|B>>>11)+t<<0,this.first?(this.h0=A+1732584193<<0,this.h1=B-271733879<<0,this.h2=t-1732584194<<0,this.h3=e+271733878<<0,this.first=!1):(this.h0=this.h0+A<<0,this.h1=this.h1+B<<0,this.h2=this.h2+t<<0,this.h3=this.h3+e<<0)},Md5.prototype.hex=function(){this.finalize();var A=this.h0,B=this.h1,t=this.h2,e=this.h3;return HEX_CHARS[A>>4&15]+HEX_CHARS[15&A]+HEX_CHARS[A>>12&15]+HEX_CHARS[A>>8&15]+HEX_CHARS[A>>20&15]+HEX_CHARS[A>>16&15]+HEX_CHARS[A>>28&15]+HEX_CHARS[A>>24&15]+HEX_CHARS[B>>4&15]+HEX_CHARS[15&B]+HEX_CHARS[B>>12&15]+HEX_CHARS[B>>8&15]+HEX_CHARS[B>>20&15]+HEX_CHARS[B>>16&15]+HEX_CHARS[B>>28&15]+HEX_CHARS[B>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var A=this.h0,B=this.h1,t=this.h2,e=this.h3;return[255&A,A>>8&255,A>>16&255,A>>24&255,255&B,B>>8&255,B>>16&255,B>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&e,e>>8&255,e>>16&255,e>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var A=new ArrayBuffer(16),B=new Uint32Array(A);return B[0]=this.h0,B[1]=this.h1,B[2]=this.h2,B[3]=this.h3,A},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var A,B,t,e="",g=this.array(),i=0;i<15;)A=g[i++],B=g[i++],t=g[i++],e+=BASE64_ENCODE_CHAR[A>>>2]+BASE64_ENCODE_CHAR[63&(A<<4|B>>>4)]+BASE64_ENCODE_CHAR[63&(B<<2|t>>>6)]+BASE64_ENCODE_CHAR[63&t];return A=g[i],e+=BASE64_ENCODE_CHAR[A>>>2]+BASE64_ENCODE_CHAR[A<<4&63]+"=="};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))}()}).call(this,__webpack_require__(38),__webpack_require__(8))},function(A,B,t){"use strict";var e,g="object"==typeof Reflect?Reflect:null,i=g&&"function"==typeof g.apply?g.apply:function(A,B,t){return Function.prototype.apply.call(A,B,t)};e=g&&"function"==typeof g.ownKeys?g.ownKeys:Object.getOwnPropertySymbols?function(A){return Object.getOwnPropertyNames(A).concat(Object.getOwnPropertySymbols(A))}:function(A){return Object.getOwnPropertyNames(A)};var Q=Number.isNaN||function(A){return A!=A};function s(){s.init.call(this)}A.exports=s,A.exports.once=function(A,B){return new Promise((function(t,e){function g(t){A.removeListener(B,i),e(t)}function i(){"function"==typeof A.removeListener&&A.removeListener("error",g),t([].slice.call(arguments))}Y(A,B,i,{once:!0}),"error"!==B&&function(A,B,t){"function"==typeof A.on&&Y(A,"error",B,t)}(A,g,{once:!0})}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var n=10;function r(A){if("function"!=typeof A)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof A)}function c(A){return void 0===A._maxListeners?s.defaultMaxListeners:A._maxListeners}function E(A,B,t,e){var g,i,Q,s;if(r(t),void 0===(i=A._events)?(i=A._events=Object.create(null),A._eventsCount=0):(void 0!==i.newListener&&(A.emit("newListener",B,t.listener?t.listener:t),i=A._events),Q=i[B]),void 0===Q)Q=i[B]=t,++A._eventsCount;else if("function"==typeof Q?Q=i[B]=e?[t,Q]:[Q,t]:e?Q.unshift(t):Q.push(t),(g=c(A))>0&&Q.length>g&&!Q.warned){Q.warned=!0;var n=new Error("Possible EventEmitter memory leak detected. "+Q.length+" "+String(B)+" listeners added. Use emitter.setMaxListeners() to increase limit");n.name="MaxListenersExceededWarning",n.emitter=A,n.type=B,n.count=Q.length,s=n,console&&console.warn&&console.warn(s)}return A}function o(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function w(A,B,t){var e={fired:!1,wrapFn:void 0,target:A,type:B,listener:t},g=o.bind(e);return g.listener=t,e.wrapFn=g,g}function C(A,B,t){var e=A._events;if(void 0===e)return[];var g=e[B];return void 0===g?[]:"function"==typeof g?t?[g.listener||g]:[g]:t?function(A){for(var B=new Array(A.length),t=0;t0&&(Q=B[0]),Q instanceof Error)throw Q;var s=new Error("Unhandled error."+(Q?" ("+Q.message+")":""));throw s.context=Q,s}var n=g[A];if(void 0===n)return!1;if("function"==typeof n)i(n,this,B);else{var r=n.length,c=I(n,r);for(t=0;t=0;i--)if(t[i]===B||t[i].listener===B){Q=t[i].listener,g=i;break}if(g<0)return this;0===g?t.shift():function(A,B){for(;B+1=0;e--)this.removeListener(A,B[e]);return this},s.prototype.listeners=function(A){return C(this,A,!0)},s.prototype.rawListeners=function(A){return C(this,A,!1)},s.listenerCount=function(A,B){return"function"==typeof A.listenerCount?A.listenerCount(B):a.call(A,B)},s.prototype.listenerCount=a,s.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},function(A,B,t){(function(B,t,e,g){A.exports=function A(B,t,e){function g(Q,s){if(!t[Q]){if(!B[Q]){if(i)return i(Q,!0);var n=new Error("Cannot find module '"+Q+"'");throw n.code="MODULE_NOT_FOUND",n}var r=t[Q]={exports:{}};B[Q][0].call(r.exports,(function(A){return g(B[Q][1][A]||A)}),r,r.exports,A,B,t,e)}return t[Q].exports}for(var i=!1,Q=0;Q>2,s=(3&B)<<4|t>>4,n=1>6:64,r=2>4,t=(15&Q)<<4|(s=i.indexOf(A.charAt(r++)))>>2,e=(3&s)<<6|(n=i.indexOf(A.charAt(r++))),o[c++]=B,64!==s&&(o[c++]=t),64!==n&&(o[c++]=e);return o}},{"./support":30,"./utils":32}],2:[function(A,B,t){"use strict";var e=A("./external"),g=A("./stream/DataWorker"),i=A("./stream/Crc32Probe"),Q=A("./stream/DataLengthProbe");function s(A,B,t,e,g){this.compressedSize=A,this.uncompressedSize=B,this.crc32=t,this.compression=e,this.compressedContent=g}s.prototype={getContentWorker:function(){var A=new g(e.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new Q("data_length")),B=this;return A.on("end",(function(){if(this.streamInfo.data_length!==B.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),A},getCompressedWorker:function(){return new g(e.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(A,B,t){return A.pipe(new i).pipe(new Q("uncompressedSize")).pipe(B.compressWorker(t)).pipe(new Q("compressedSize")).withStreamInfo("compression",B)},B.exports=s},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(A,B,t){"use strict";var e=A("./stream/GenericWorker");t.STORE={magic:"\0\0",compressWorker:function(){return new e("STORE compression")},uncompressWorker:function(){return new e("STORE decompression")}},t.DEFLATE=A("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(A,B,t){"use strict";var e=A("./utils"),g=function(){for(var A,B=[],t=0;t<256;t++){A=t;for(var e=0;e<8;e++)A=1&A?3988292384^A>>>1:A>>>1;B[t]=A}return B}();B.exports=function(A,B){return void 0!==A&&A.length?"string"!==e.getTypeOf(A)?function(A,B,t,e){var i=g,Q=0+t;A^=-1;for(var s=0;s>>8^i[255&(A^B[s])];return-1^A}(0|B,A,A.length):function(A,B,t,e){var i=g,Q=0+t;A^=-1;for(var s=0;s>>8^i[255&(A^B.charCodeAt(s))];return-1^A}(0|B,A,A.length):0}},{"./utils":32}],5:[function(A,B,t){"use strict";t.base64=!1,t.binary=!1,t.dir=!1,t.createFolders=!0,t.date=null,t.compression=null,t.compressionOptions=null,t.comment=null,t.unixPermissions=null,t.dosPermissions=null},{}],6:[function(A,B,t){"use strict";var e;e="undefined"!=typeof Promise?Promise:A("lie"),B.exports={Promise:e}},{lie:37}],7:[function(A,B,t){"use strict";var e="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,g=A("pako"),i=A("./utils"),Q=A("./stream/GenericWorker"),s=e?"uint8array":"array";function n(A,B){Q.call(this,"FlateWorker/"+A),this._pako=null,this._pakoAction=A,this._pakoOptions=B,this.meta={}}t.magic="\b\0",i.inherits(n,Q),n.prototype.processChunk=function(A){this.meta=A.meta,null===this._pako&&this._createPako(),this._pako.push(i.transformTo(s,A.data),!1)},n.prototype.flush=function(){Q.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},n.prototype.cleanUp=function(){Q.prototype.cleanUp.call(this),this._pako=null},n.prototype._createPako=function(){this._pako=new g[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var A=this;this._pako.onData=function(B){A.push({data:B,meta:A.meta})}},t.compressWorker=function(A){return new n("Deflate",A)},t.uncompressWorker=function(){return new n("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(A,B,t){"use strict";function e(A,B){var t,e="";for(t=0;t>>=8;return e}function g(A,B,t,g,Q,c){var E,o,w=A.file,C=A.compression,a=c!==s.utf8encode,I=i.transformTo("string",c(w.name)),Y=i.transformTo("string",s.utf8encode(w.name)),h=w.comment,M=i.transformTo("string",c(h)),F=i.transformTo("string",s.utf8encode(h)),D=Y.length!==w.name.length,u=F.length!==h.length,l="",d="",U="",N=w.dir,m=w.date,G={crc32:0,compressedSize:0,uncompressedSize:0};B&&!t||(G.crc32=A.crc32,G.compressedSize=A.compressedSize,G.uncompressedSize=A.uncompressedSize);var f=0;B&&(f|=8),a||!D&&!u||(f|=2048);var H=0,R=0;N&&(H|=16),"UNIX"===Q?(R=798,H|=function(A,B){var t=A;return A||(t=B?16893:33204),(65535&t)<<16}(w.unixPermissions,N)):(R=20,H|=function(A){return 63&(A||0)}(w.dosPermissions)),E=m.getUTCHours(),E<<=6,E|=m.getUTCMinutes(),E<<=5,E|=m.getUTCSeconds()/2,o=m.getUTCFullYear()-1980,o<<=4,o|=m.getUTCMonth()+1,o<<=5,o|=m.getUTCDate(),D&&(d=e(1,1)+e(n(I),4)+Y,l+="up"+e(d.length,2)+d),u&&(U=e(1,1)+e(n(M),4)+F,l+="uc"+e(U.length,2)+U);var p="";return p+="\n\0",p+=e(f,2),p+=C.magic,p+=e(E,2),p+=e(o,2),p+=e(G.crc32,4),p+=e(G.compressedSize,4),p+=e(G.uncompressedSize,4),p+=e(I.length,2),p+=e(l.length,2),{fileRecord:r.LOCAL_FILE_HEADER+p+I+l,dirRecord:r.CENTRAL_FILE_HEADER+e(R,2)+p+e(M.length,2)+"\0\0\0\0"+e(H,4)+e(g,4)+I+l+M}}var i=A("../utils"),Q=A("../stream/GenericWorker"),s=A("../utf8"),n=A("../crc32"),r=A("../signature");function c(A,B,t,e){Q.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=B,this.zipPlatform=t,this.encodeFileName=e,this.streamFiles=A,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}i.inherits(c,Q),c.prototype.push=function(A){var B=A.meta.percent||0,t=this.entriesCount,e=this._sources.length;this.accumulate?this.contentBuffer.push(A):(this.bytesWritten+=A.data.length,Q.prototype.push.call(this,{data:A.data,meta:{currentFile:this.currentFile,percent:t?(B+100*(t-e-1))/t:100}}))},c.prototype.openedSource=function(A){this.currentSourceOffset=this.bytesWritten,this.currentFile=A.file.name;var B=this.streamFiles&&!A.file.dir;if(B){var t=g(A,B,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:t.fileRecord,meta:{percent:0}})}else this.accumulate=!0},c.prototype.closedSource=function(A){this.accumulate=!1;var B=this.streamFiles&&!A.file.dir,t=g(A,B,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(t.dirRecord),B)this.push({data:function(A){return r.DATA_DESCRIPTOR+e(A.crc32,4)+e(A.compressedSize,4)+e(A.uncompressedSize,4)}(A),meta:{percent:100}});else for(this.push({data:t.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},c.prototype.flush=function(){for(var A=this.bytesWritten,B=0;B=this.index;B--)t=(t<<8)+this.byteAt(B);return this.index+=A,t},readString:function(A){return e.transformTo("string",this.readData(A))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var A=this.readInt(4);return new Date(Date.UTC(1980+(A>>25&127),(A>>21&15)-1,A>>16&31,A>>11&31,A>>5&63,(31&A)<<1))}},B.exports=g},{"../utils":32}],19:[function(A,B,t){"use strict";var e=A("./Uint8ArrayReader");function g(A){e.call(this,A)}A("../utils").inherits(g,e),g.prototype.readData=function(A){this.checkOffset(A);var B=this.data.slice(this.zero+this.index,this.zero+this.index+A);return this.index+=A,B},B.exports=g},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(A,B,t){"use strict";var e=A("./DataReader");function g(A){e.call(this,A)}A("../utils").inherits(g,e),g.prototype.byteAt=function(A){return this.data.charCodeAt(this.zero+A)},g.prototype.lastIndexOfSignature=function(A){return this.data.lastIndexOf(A)-this.zero},g.prototype.readAndCheckSignature=function(A){return A===this.readData(4)},g.prototype.readData=function(A){this.checkOffset(A);var B=this.data.slice(this.zero+this.index,this.zero+this.index+A);return this.index+=A,B},B.exports=g},{"../utils":32,"./DataReader":18}],21:[function(A,B,t){"use strict";var e=A("./ArrayReader");function g(A){e.call(this,A)}A("../utils").inherits(g,e),g.prototype.readData=function(A){if(this.checkOffset(A),0===A)return new Uint8Array(0);var B=this.data.subarray(this.zero+this.index,this.zero+this.index+A);return this.index+=A,B},B.exports=g},{"../utils":32,"./ArrayReader":17}],22:[function(A,B,t){"use strict";var e=A("../utils"),g=A("../support"),i=A("./ArrayReader"),Q=A("./StringReader"),s=A("./NodeBufferReader"),n=A("./Uint8ArrayReader");B.exports=function(A){var B=e.getTypeOf(A);return e.checkSupport(B),"string"!==B||g.uint8array?"nodebuffer"===B?new s(A):g.uint8array?new n(e.transformTo("uint8array",A)):new i(e.transformTo("array",A)):new Q(A)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(A,B,t){"use strict";t.LOCAL_FILE_HEADER="PK",t.CENTRAL_FILE_HEADER="PK",t.CENTRAL_DIRECTORY_END="PK",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",t.ZIP64_CENTRAL_DIRECTORY_END="PK",t.DATA_DESCRIPTOR="PK\b"},{}],24:[function(A,B,t){"use strict";var e=A("./GenericWorker"),g=A("../utils");function i(A){e.call(this,"ConvertWorker to "+A),this.destType=A}g.inherits(i,e),i.prototype.processChunk=function(A){this.push({data:g.transformTo(this.destType,A.data),meta:A.meta})},B.exports=i},{"../utils":32,"./GenericWorker":28}],25:[function(A,B,t){"use strict";var e=A("./GenericWorker"),g=A("../crc32");function i(){e.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}A("../utils").inherits(i,e),i.prototype.processChunk=function(A){this.streamInfo.crc32=g(A.data,this.streamInfo.crc32||0),this.push(A)},B.exports=i},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(A,B,t){"use strict";var e=A("../utils"),g=A("./GenericWorker");function i(A){g.call(this,"DataLengthProbe for "+A),this.propName=A,this.withStreamInfo(A,0)}e.inherits(i,g),i.prototype.processChunk=function(A){if(A){var B=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=B+A.data.length}g.prototype.processChunk.call(this,A)},B.exports=i},{"../utils":32,"./GenericWorker":28}],27:[function(A,B,t){"use strict";var e=A("../utils"),g=A("./GenericWorker");function i(A){g.call(this,"DataWorker");var B=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,A.then((function(A){B.dataIsReady=!0,B.data=A,B.max=A&&A.length||0,B.type=e.getTypeOf(A),B.isPaused||B._tickAndRepeat()}),(function(A){B.error(A)}))}e.inherits(i,g),i.prototype.cleanUp=function(){g.prototype.cleanUp.call(this),this.data=null},i.prototype.resume=function(){return!!g.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,e.delay(this._tickAndRepeat,[],this)),!0)},i.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(e.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},i.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var A=null,B=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":A=this.data.substring(this.index,B);break;case"uint8array":A=this.data.subarray(this.index,B);break;case"array":case"nodebuffer":A=this.data.slice(this.index,B)}return this.index=B,this.push({data:A,meta:{percent:this.max?this.index/this.max*100:0}})},B.exports=i},{"../utils":32,"./GenericWorker":28}],28:[function(A,B,t){"use strict";function e(A){this.name=A||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}e.prototype={push:function(A){this.emit("data",A)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(A){this.emit("error",A)}return!0},error:function(A){return!this.isFinished&&(this.isPaused?this.generatedError=A:(this.isFinished=!0,this.emit("error",A),this.previous&&this.previous.error(A),this.cleanUp()),!0)},on:function(A,B){return this._listeners[A].push(B),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(A,B){if(this._listeners[A])for(var t=0;t "+A:A}},B.exports=e},{}],29:[function(A,t,e){"use strict";var g=A("../utils"),i=A("./ConvertWorker"),Q=A("./GenericWorker"),s=A("../base64"),n=A("../support"),r=A("../external"),c=null;if(n.nodestream)try{c=A("../nodejs/NodejsStreamOutputAdapter")}catch(A){}function E(A,B,t){var e=B;switch(B){case"blob":case"arraybuffer":e="uint8array";break;case"base64":e="string"}try{this._internalType=e,this._outputType=B,this._mimeType=t,g.checkSupport(e),this._worker=A.pipe(new i(e)),A.lock()}catch(A){this._worker=new Q("error"),this._worker.error(A)}}E.prototype={accumulate:function(A){return function(A,t){return new r.Promise((function(e,i){var Q=[],n=A._internalType,r=A._outputType,c=A._mimeType;A.on("data",(function(A,B){Q.push(A),t&&t(B)})).on("error",(function(A){Q=[],i(A)})).on("end",(function(){try{var A=function(A,B,t){switch(A){case"blob":return g.newBlob(g.transformTo("arraybuffer",B),t);case"base64":return s.encode(B);default:return g.transformTo(A,B)}}(r,function(A,t){var e,g=0,i=null,Q=0;for(e=0;e>>6:(t<65536?B[Q++]=224|t>>>12:(B[Q++]=240|t>>>18,B[Q++]=128|t>>>12&63),B[Q++]=128|t>>>6&63),B[Q++]=128|63&t);return B}(A)},t.utf8decode=function(A){return g.nodebuffer?e.transformTo("nodebuffer",A).toString("utf-8"):function(A){var B,t,g,i,Q=A.length,n=new Array(2*Q);for(B=t=0;B>10&1023,n[t++]=56320|1023&g)}return n.length!==t&&(n.subarray?n=n.subarray(0,t):n.length=t),e.applyFromCharCode(n)}(A=e.transformTo(g.uint8array?"uint8array":"array",A))},e.inherits(r,Q),r.prototype.processChunk=function(A){var B=e.transformTo(g.uint8array?"uint8array":"array",A.data);if(this.leftOver&&this.leftOver.length){if(g.uint8array){var i=B;(B=new Uint8Array(i.length+this.leftOver.length)).set(this.leftOver,0),B.set(i,this.leftOver.length)}else B=this.leftOver.concat(B);this.leftOver=null}var Q=function(A,B){var t;for((B=B||A.length)>A.length&&(B=A.length),t=B-1;0<=t&&128==(192&A[t]);)t--;return t<0||0===t?B:t+s[A[t]]>B?t:B}(B),n=B;Q!==B.length&&(g.uint8array?(n=B.subarray(0,Q),this.leftOver=B.subarray(Q,B.length)):(n=B.slice(0,Q),this.leftOver=B.slice(Q,B.length))),this.push({data:t.utf8decode(n),meta:A.meta})},r.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=r,e.inherits(c,Q),c.prototype.processChunk=function(A){this.push({data:t.utf8encode(A.data),meta:A.meta})},t.Utf8EncodeWorker=c},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(A,B,e){"use strict";var g=A("./support"),i=A("./base64"),Q=A("./nodejsUtils"),s=A("./external");function n(A){return A}function r(A,B){for(var t=0;t>8;this.dir=!!(16&this.externalFileAttributes),0==A&&(this.dosPermissions=63&this.externalFileAttributes),3==A&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var A=e(this.extraFields[1].value);this.uncompressedSize===g.MAX_VALUE_32BITS&&(this.uncompressedSize=A.readInt(8)),this.compressedSize===g.MAX_VALUE_32BITS&&(this.compressedSize=A.readInt(8)),this.localHeaderOffset===g.MAX_VALUE_32BITS&&(this.localHeaderOffset=A.readInt(8)),this.diskNumberStart===g.MAX_VALUE_32BITS&&(this.diskNumberStart=A.readInt(4))}},readExtraFields:function(A){var B,t,e,g=A.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});A.index+4>>6:(t<65536?B[Q++]=224|t>>>12:(B[Q++]=240|t>>>18,B[Q++]=128|t>>>12&63),B[Q++]=128|t>>>6&63),B[Q++]=128|63&t);return B},t.buf2binstring=function(A){return n(A,A.length)},t.binstring2buf=function(A){for(var B=new e.Buf8(A.length),t=0,g=B.length;t>10&1023,r[e++]=56320|1023&g)}return n(r,e)},t.utf8border=function(A,B){var t;for((B=B||A.length)>A.length&&(B=A.length),t=B-1;0<=t&&128==(192&A[t]);)t--;return t<0||0===t?B:t+Q[A[t]]>B?t:B}},{"./common":41}],43:[function(A,B,t){"use strict";B.exports=function(A,B,t,e){for(var g=65535&A|0,i=A>>>16&65535|0,Q=0;0!==t;){for(t-=Q=2e3>>1:A>>>1;B[t]=A}return B}();B.exports=function(A,B,t,g){var i=e,Q=g+t;A^=-1;for(var s=g;s>>8^i[255&(A^B[s])];return-1^A}},{}],46:[function(A,B,t){"use strict";var e,g=A("../utils/common"),i=A("./trees"),Q=A("./adler32"),s=A("./crc32"),n=A("./messages"),r=-2,c=258,E=262,o=113;function w(A,B){return A.msg=n[B],B}function C(A){return(A<<1)-(4A.avail_out&&(t=A.avail_out),0!==t&&(g.arraySet(A.output,B.pending_buf,B.pending_out,t,A.next_out),A.next_out+=t,B.pending_out+=t,A.total_out+=t,A.avail_out-=t,B.pending-=t,0===B.pending&&(B.pending_out=0))}function Y(A,B){i._tr_flush_block(A,0<=A.block_start?A.block_start:-1,A.strstart-A.block_start,B),A.block_start=A.strstart,I(A.strm)}function h(A,B){A.pending_buf[A.pending++]=B}function M(A,B){A.pending_buf[A.pending++]=B>>>8&255,A.pending_buf[A.pending++]=255&B}function F(A,B){var t,e,g=A.max_chain_length,i=A.strstart,Q=A.prev_length,s=A.nice_match,n=A.strstart>A.w_size-E?A.strstart-(A.w_size-E):0,r=A.window,o=A.w_mask,w=A.prev,C=A.strstart+c,a=r[i+Q-1],I=r[i+Q];A.prev_length>=A.good_match&&(g>>=2),s>A.lookahead&&(s=A.lookahead);do{if(r[(t=B)+Q]===I&&r[t+Q-1]===a&&r[t]===r[i]&&r[++t]===r[i+1]){i+=2,t++;do{}while(r[++i]===r[++t]&&r[++i]===r[++t]&&r[++i]===r[++t]&&r[++i]===r[++t]&&r[++i]===r[++t]&&r[++i]===r[++t]&&r[++i]===r[++t]&&r[++i]===r[++t]&&in&&0!=--g);return Q<=A.lookahead?Q:A.lookahead}function D(A){var B,t,e,i,n,r,c,o,w,C,a=A.w_size;do{if(i=A.window_size-A.lookahead-A.strstart,A.strstart>=a+(a-E)){for(g.arraySet(A.window,A.window,a,a,0),A.match_start-=a,A.strstart-=a,A.block_start-=a,B=t=A.hash_size;e=A.head[--B],A.head[B]=a<=e?e-a:0,--t;);for(B=t=a;e=A.prev[--B],A.prev[B]=a<=e?e-a:0,--t;);i+=a}if(0===A.strm.avail_in)break;if(r=A.strm,c=A.window,o=A.strstart+A.lookahead,C=void 0,(w=i)<(C=r.avail_in)&&(C=w),t=0===C?0:(r.avail_in-=C,g.arraySet(c,r.input,r.next_in,C,o),1===r.state.wrap?r.adler=Q(r.adler,c,C,o):2===r.state.wrap&&(r.adler=s(r.adler,c,C,o)),r.next_in+=C,r.total_in+=C,C),A.lookahead+=t,A.lookahead+A.insert>=3)for(n=A.strstart-A.insert,A.ins_h=A.window[n],A.ins_h=(A.ins_h<=3&&(A.ins_h=(A.ins_h<=3)if(e=i._tr_tally(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){for(A.match_length--;A.strstart++,A.ins_h=(A.ins_h<=3&&(A.ins_h=(A.ins_h<=3&&A.match_length<=A.prev_length){for(g=A.strstart+A.lookahead-3,e=i._tr_tally(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;++A.strstart<=g&&(A.ins_h=(A.ins_h<A.pending_buf_size-5&&(t=A.pending_buf_size-5);;){if(A.lookahead<=1){if(D(A),0===A.lookahead&&0===B)return 1;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;var e=A.block_start+t;if((0===A.strstart||A.strstart>=e)&&(A.lookahead=A.strstart-e,A.strstart=e,Y(A,!1),0===A.strm.avail_out))return 1;if(A.strstart-A.block_start>=A.w_size-E&&(Y(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,4===B?(Y(A,!0),0===A.strm.avail_out?3:4):(A.strstart>A.block_start&&(Y(A,!1),A.strm.avail_out),1)})),new d(4,4,8,4,u),new d(4,5,16,8,u),new d(4,6,32,32,u),new d(4,4,16,16,l),new d(8,16,32,32,l),new d(8,16,128,128,l),new d(8,32,128,256,l),new d(32,128,258,1024,l),new d(32,258,258,4096,l)],t.deflateInit=function(A,B){return G(A,B,8,15,8,0)},t.deflateInit2=G,t.deflateReset=m,t.deflateResetKeep=N,t.deflateSetHeader=function(A,B){return A&&A.state?2!==A.state.wrap?r:(A.state.gzhead=B,0):r},t.deflate=function(A,B){var t,g,Q,n;if(!A||!A.state||5>8&255),h(g,g.gzhead.time>>16&255),h(g,g.gzhead.time>>24&255),h(g,9===g.level?2:2<=g.strategy||g.level<2?4:0),h(g,255&g.gzhead.os),g.gzhead.extra&&g.gzhead.extra.length&&(h(g,255&g.gzhead.extra.length),h(g,g.gzhead.extra.length>>8&255)),g.gzhead.hcrc&&(A.adler=s(A.adler,g.pending_buf,g.pending,0)),g.gzindex=0,g.status=69):(h(g,0),h(g,0),h(g,0),h(g,0),h(g,0),h(g,9===g.level?2:2<=g.strategy||g.level<2?4:0),h(g,3),g.status=o);else{var E=8+(g.w_bits-8<<4)<<8;E|=(2<=g.strategy||g.level<2?0:g.level<6?1:6===g.level?2:3)<<6,0!==g.strstart&&(E|=32),E+=31-E%31,g.status=o,M(g,E),0!==g.strstart&&(M(g,A.adler>>>16),M(g,65535&A.adler)),A.adler=1}if(69===g.status)if(g.gzhead.extra){for(Q=g.pending;g.gzindex<(65535&g.gzhead.extra.length)&&(g.pending!==g.pending_buf_size||(g.gzhead.hcrc&&g.pending>Q&&(A.adler=s(A.adler,g.pending_buf,g.pending-Q,Q)),I(A),Q=g.pending,g.pending!==g.pending_buf_size));)h(g,255&g.gzhead.extra[g.gzindex]),g.gzindex++;g.gzhead.hcrc&&g.pending>Q&&(A.adler=s(A.adler,g.pending_buf,g.pending-Q,Q)),g.gzindex===g.gzhead.extra.length&&(g.gzindex=0,g.status=73)}else g.status=73;if(73===g.status)if(g.gzhead.name){Q=g.pending;do{if(g.pending===g.pending_buf_size&&(g.gzhead.hcrc&&g.pending>Q&&(A.adler=s(A.adler,g.pending_buf,g.pending-Q,Q)),I(A),Q=g.pending,g.pending===g.pending_buf_size)){n=1;break}n=g.gzindexQ&&(A.adler=s(A.adler,g.pending_buf,g.pending-Q,Q)),0===n&&(g.gzindex=0,g.status=91)}else g.status=91;if(91===g.status)if(g.gzhead.comment){Q=g.pending;do{if(g.pending===g.pending_buf_size&&(g.gzhead.hcrc&&g.pending>Q&&(A.adler=s(A.adler,g.pending_buf,g.pending-Q,Q)),I(A),Q=g.pending,g.pending===g.pending_buf_size)){n=1;break}n=g.gzindexQ&&(A.adler=s(A.adler,g.pending_buf,g.pending-Q,Q)),0===n&&(g.status=103)}else g.status=103;if(103===g.status&&(g.gzhead.hcrc?(g.pending+2>g.pending_buf_size&&I(A),g.pending+2<=g.pending_buf_size&&(h(g,255&A.adler),h(g,A.adler>>8&255),A.adler=0,g.status=o)):g.status=o),0!==g.pending){if(I(A),0===A.avail_out)return g.last_flush=-1,0}else if(0===A.avail_in&&C(B)<=C(t)&&4!==B)return w(A,-5);if(666===g.status&&0!==A.avail_in)return w(A,-5);if(0!==A.avail_in||0!==g.lookahead||0!==B&&666!==g.status){var F=2===g.strategy?function(A,B){for(var t;;){if(0===A.lookahead&&(D(A),0===A.lookahead)){if(0===B)return 1;break}if(A.match_length=0,t=i._tr_tally(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,t&&(Y(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,4===B?(Y(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(Y(A,!1),0===A.strm.avail_out)?1:2}(g,B):3===g.strategy?function(A,B){for(var t,e,g,Q,s=A.window;;){if(A.lookahead<=c){if(D(A),A.lookahead<=c&&0===B)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&0A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(t=i._tr_tally(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(t=i._tr_tally(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),t&&(Y(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,4===B?(Y(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(Y(A,!1),0===A.strm.avail_out)?1:2}(g,B):e[g.level].func(g,B);if(3!==F&&4!==F||(g.status=666),1===F||3===F)return 0===A.avail_out&&(g.last_flush=-1),0;if(2===F&&(1===B?i._tr_align(g):5!==B&&(i._tr_stored_block(g,0,0,!1),3===B&&(a(g.head),0===g.lookahead&&(g.strstart=0,g.block_start=0,g.insert=0))),I(A),0===A.avail_out))return g.last_flush=-1,0}return 4!==B?0:g.wrap<=0?1:(2===g.wrap?(h(g,255&A.adler),h(g,A.adler>>8&255),h(g,A.adler>>16&255),h(g,A.adler>>24&255),h(g,255&A.total_in),h(g,A.total_in>>8&255),h(g,A.total_in>>16&255),h(g,A.total_in>>24&255)):(M(g,A.adler>>>16),M(g,65535&A.adler)),I(A),0=t.w_size&&(0===s&&(a(t.head),t.strstart=0,t.block_start=0,t.insert=0),o=new g.Buf8(t.w_size),g.arraySet(o,B,w-t.w_size,t.w_size,0),B=o,w=t.w_size),n=A.avail_in,c=A.next_in,E=A.input,A.avail_in=w,A.next_in=0,A.input=B,D(t);t.lookahead>=3;){for(e=t.strstart,i=t.lookahead-2;t.ins_h=(t.ins_h<>>=F=M>>>24,C-=F,0==(F=M>>>16&255))N[i++]=65535&M;else{if(!(16&F)){if(0==(64&F)){M=a[(65535&M)+(w&(1<>>=F,C-=F),C<15&&(w+=U[e++]<>>=F=M>>>24,C-=F,!(16&(F=M>>>16&255))){if(0==(64&F)){M=I[(65535&M)+(w&(1<>>=F,C-=F,(F=i-Q)>3,w&=(1<<(C-=D<<3))-1,A.next_in=e,A.next_out=i,A.avail_in=e>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function c(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new e.Buf16(320),this.work=new e.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function E(A){var B;return A&&A.state?(B=A.state,A.total_in=A.total_out=B.total=0,A.msg="",B.wrap&&(A.adler=1&B.wrap),B.mode=1,B.last=0,B.havedict=0,B.dmax=32768,B.head=null,B.hold=0,B.bits=0,B.lencode=B.lendyn=new e.Buf32(852),B.distcode=B.distdyn=new e.Buf32(592),B.sane=1,B.back=-1,0):n}function o(A){var B;return A&&A.state?((B=A.state).wsize=0,B.whave=0,B.wnext=0,E(A)):n}function w(A,B){var t,e;return A&&A.state?(e=A.state,B<0?(t=0,B=-B):(t=1+(B>>4),B<48&&(B&=15)),B&&(B<8||15=Q.wsize?(e.arraySet(Q.window,B,t-Q.wsize,Q.wsize,0),Q.wnext=0,Q.whave=Q.wsize):(g<(i=Q.wsize-Q.wnext)&&(i=g),e.arraySet(Q.window,B,t-g,i,Q.wnext),(g-=i)?(e.arraySet(Q.window,B,t-g,g,0),Q.wnext=g,Q.whave=Q.wsize):(Q.wnext+=i,Q.wnext===Q.wsize&&(Q.wnext=0),Q.whave>>8&255,t.check=i(t.check,T,2,0),Y=I=0,t.mode=2;break}if(t.flags=0,t.head&&(t.head.done=!1),!(1&t.wrap)||(((255&I)<<8)+(I>>8))%31){A.msg="incorrect header check",t.mode=30;break}if(8!=(15&I)){A.msg="unknown compression method",t.mode=30;break}if(Y-=4,R=8+(15&(I>>>=4)),0===t.wbits)t.wbits=R;else if(R>t.wbits){A.msg="invalid window size",t.mode=30;break}t.dmax=1<>8&1),512&t.flags&&(T[0]=255&I,T[1]=I>>>8&255,t.check=i(t.check,T,2,0)),Y=I=0,t.mode=3;case 3:for(;Y<32;){if(0===C)break A;C--,I+=c[o++]<>>8&255,T[2]=I>>>16&255,T[3]=I>>>24&255,t.check=i(t.check,T,4,0)),Y=I=0,t.mode=4;case 4:for(;Y<16;){if(0===C)break A;C--,I+=c[o++]<>8),512&t.flags&&(T[0]=255&I,T[1]=I>>>8&255,t.check=i(t.check,T,2,0)),Y=I=0,t.mode=5;case 5:if(1024&t.flags){for(;Y<16;){if(0===C)break A;C--,I+=c[o++]<>>8&255,t.check=i(t.check,T,2,0)),Y=I=0}else t.head&&(t.head.extra=null);t.mode=6;case 6:if(1024&t.flags&&(C<(u=t.length)&&(u=C),u&&(t.head&&(R=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Array(t.head.extra_len)),e.arraySet(t.head.extra,c,o,u,R)),512&t.flags&&(t.check=i(t.check,c,u,o)),C-=u,o+=u,t.length-=u),t.length))break A;t.length=0,t.mode=7;case 7:if(2048&t.flags){if(0===C)break A;for(u=0;R=c[o+u++],t.head&&R&&t.length<65536&&(t.head.name+=String.fromCharCode(R)),R&&u>9&1,t.head.done=!0),A.adler=t.check=0,t.mode=12;break;case 10:for(;Y<32;){if(0===C)break A;C--,I+=c[o++]<>>=7&Y,Y-=7&Y,t.mode=27;break}for(;Y<3;){if(0===C)break A;C--,I+=c[o++]<>>=1)){case 0:t.mode=14;break;case 1:if(h(t),t.mode=20,6!==B)break;I>>>=2,Y-=2;break A;case 2:t.mode=17;break;case 3:A.msg="invalid block type",t.mode=30}I>>>=2,Y-=2;break;case 14:for(I>>>=7&Y,Y-=7&Y;Y<32;){if(0===C)break A;C--,I+=c[o++]<>>16^65535)){A.msg="invalid stored block lengths",t.mode=30;break}if(t.length=65535&I,Y=I=0,t.mode=15,6===B)break A;case 15:t.mode=16;case 16:if(u=t.length){if(C>>=5,Y-=5,t.ndist=1+(31&I),I>>>=5,Y-=5,t.ncode=4+(15&I),I>>>=4,Y-=4,286>>=3,Y-=3}for(;t.have<19;)t.lens[j[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,y={bits:t.lenbits},p=s(0,t.lens,0,19,t.lencode,0,t.work,y),t.lenbits=y.bits,p){A.msg="invalid code lengths set",t.mode=30;break}t.have=0,t.mode=19;case 19:for(;t.have>>16&255,m=65535&k,!((U=k>>>24)<=Y);){if(0===C)break A;C--,I+=c[o++]<>>=U,Y-=U,t.lens[t.have++]=m;else{if(16===m){for(J=U+2;Y>>=U,Y-=U,0===t.have){A.msg="invalid bit length repeat",t.mode=30;break}R=t.lens[t.have-1],u=3+(3&I),I>>>=2,Y-=2}else if(17===m){for(J=U+3;Y>>=U)),I>>>=3,Y-=3}else{for(J=U+7;Y>>=U)),I>>>=7,Y-=7}if(t.have+u>t.nlen+t.ndist){A.msg="invalid bit length repeat",t.mode=30;break}for(;u--;)t.lens[t.have++]=R}}if(30===t.mode)break;if(0===t.lens[256]){A.msg="invalid code -- missing end-of-block",t.mode=30;break}if(t.lenbits=9,y={bits:t.lenbits},p=s(1,t.lens,0,t.nlen,t.lencode,0,t.work,y),t.lenbits=y.bits,p){A.msg="invalid literal/lengths set",t.mode=30;break}if(t.distbits=6,t.distcode=t.distdyn,y={bits:t.distbits},p=s(2,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,y),t.distbits=y.bits,p){A.msg="invalid distances set",t.mode=30;break}if(t.mode=20,6===B)break A;case 20:t.mode=21;case 21:if(6<=C&&258<=a){A.next_out=w,A.avail_out=a,A.next_in=o,A.avail_in=C,t.hold=I,t.bits=Y,Q(A,D),w=A.next_out,E=A.output,a=A.avail_out,o=A.next_in,c=A.input,C=A.avail_in,I=t.hold,Y=t.bits,12===t.mode&&(t.back=-1);break}for(t.back=0;N=(k=t.lencode[I&(1<>>16&255,m=65535&k,!((U=k>>>24)<=Y);){if(0===C)break A;C--,I+=c[o++]<>G)])>>>16&255,m=65535&k,!(G+(U=k>>>24)<=Y);){if(0===C)break A;C--,I+=c[o++]<>>=G,Y-=G,t.back+=G}if(I>>>=U,Y-=U,t.back+=U,t.length=m,0===N){t.mode=26;break}if(32&N){t.back=-1,t.mode=12;break}if(64&N){A.msg="invalid literal/length code",t.mode=30;break}t.extra=15&N,t.mode=22;case 22:if(t.extra){for(J=t.extra;Y>>=t.extra,Y-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=23;case 23:for(;N=(k=t.distcode[I&(1<>>16&255,m=65535&k,!((U=k>>>24)<=Y);){if(0===C)break A;C--,I+=c[o++]<>G)])>>>16&255,m=65535&k,!(G+(U=k>>>24)<=Y);){if(0===C)break A;C--,I+=c[o++]<>>=G,Y-=G,t.back+=G}if(I>>>=U,Y-=U,t.back+=U,64&N){A.msg="invalid distance code",t.mode=30;break}t.offset=m,t.extra=15&N,t.mode=24;case 24:if(t.extra){for(J=t.extra;Y>>=t.extra,Y-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){A.msg="invalid distance too far back",t.mode=30;break}t.mode=25;case 25:if(0===a)break A;if(u=D-a,t.offset>u){if((u=t.offset-u)>t.whave&&t.sane){A.msg="invalid distance too far back",t.mode=30;break}l=u>t.wnext?(u-=t.wnext,t.wsize-u):t.wnext-u,u>t.length&&(u=t.length),d=t.window}else d=E,l=w-t.offset,u=t.length;for(ah?(F=j[x+E[d]],y[J+E[d]]):(F=96,0),w=1<>f)+(C-=w)]=M<<24|F<<16|D|0,0!==C;);for(w=1<>=1;if(0!==w?(p&=w-1,p+=w):p=0,d++,0==--k[l]){if(l===N)break;l=B[t+E[d]]}if(m>>7)]}function U(A,B){A.pending_buf[A.pending++]=255&B,A.pending_buf[A.pending++]=B>>>8&255}function N(A,B,t){A.bi_valid>16-t?(A.bi_buf|=B<>16-A.bi_valid,A.bi_valid+=t-16):(A.bi_buf|=B<>>=1,t<<=1,0<--B;);return t>>>1}function f(A,B,t){var e,g,i=new Array(16),Q=0;for(e=1;e<=n;e++)i[e]=Q=Q+t[e-1]<<1;for(g=0;g<=B;g++){var s=A[2*g+1];0!==s&&(A[2*g]=G(i[s]++,s))}}function H(A){var B;for(B=0;B>1;1<=t;t--)y(A,i,t);for(g=r;t=A.heap[1],A.heap[1]=A.heap[A.heap_len--],y(A,i,1),e=A.heap[1],A.heap[--A.heap_max]=t,A.heap[--A.heap_max]=e,i[2*g]=i[2*t]+i[2*e],A.depth[g]=(A.depth[t]>=A.depth[e]?A.depth[t]:A.depth[e])+1,i[2*t+1]=i[2*e+1]=g,A.heap[1]=g++,y(A,i,1),2<=A.heap_len;);A.heap[--A.heap_max]=A.heap[1],function(A,B){var t,e,g,i,Q,s,r=B.dyn_tree,c=B.max_code,E=B.stat_desc.static_tree,o=B.stat_desc.has_stree,w=B.stat_desc.extra_bits,C=B.stat_desc.extra_base,a=B.stat_desc.max_length,I=0;for(i=0;i<=n;i++)A.bl_count[i]=0;for(r[2*A.heap[A.heap_max]+1]=0,t=A.heap_max+1;t<573;t++)a<(i=r[2*r[2*(e=A.heap[t])+1]+1]+1)&&(i=a,I++),r[2*e+1]=i,c>=7;e>>=1)if(1&t&&0!==A.dyn_ltree[2*B])return 0;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return 1;for(B=32;B>>3,(Q=A.static_len+3+7>>>3)<=g&&(g=Q)):g=Q=t+5,t+4<=g&&-1!==B?S(A,B,t,e):4===A.strategy||Q===g?(N(A,2+(e?1:0),3),J(A,w,C)):(N(A,4+(e?1:0),3),function(A,B,t,e){var g;for(N(A,B-257,5),N(A,t-1,5),N(A,e-4,4),g=0;g>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&B,A.pending_buf[A.l_buf+A.last_lit]=255&t,A.last_lit++,0===B?A.dyn_ltree[2*t]++:(A.matches++,B--,A.dyn_ltree[2*(I[t]+i+1)]++,A.dyn_dtree[2*d(B)]++),A.last_lit===A.lit_bufsize-1},t._tr_align=function(A){N(A,2,3),m(A,256,w),function(A){16===A.bi_valid?(U(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):8<=A.bi_valid&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)}(A)}},{"../utils/common":41}],53:[function(A,B,t){"use strict";B.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(A,B,t){(function(A){!function(A,B){"use strict";if(!A.setImmediate){var t,e,i,Q,s=1,n={},r=!1,c=A.document,E=Object.getPrototypeOf&&Object.getPrototypeOf(A);E=E&&E.setTimeout?E:A,t="[object process]"==={}.toString.call(A.process)?function(A){g.nextTick((function(){w(A)}))}:function(){if(A.postMessage&&!A.importScripts){var B=!0,t=A.onmessage;return A.onmessage=function(){B=!1},A.postMessage("","*"),A.onmessage=t,B}}()?(Q="setImmediate$"+Math.random()+"$",A.addEventListener?A.addEventListener("message",C,!1):A.attachEvent("onmessage",C),function(B){A.postMessage(Q+B,"*")}):A.MessageChannel?((i=new MessageChannel).port1.onmessage=function(A){w(A.data)},function(A){i.port2.postMessage(A)}):c&&"onreadystatechange"in c.createElement("script")?(e=c.documentElement,function(A){var B=c.createElement("script");B.onreadystatechange=function(){w(A),B.onreadystatechange=null,e.removeChild(B),B=null},e.appendChild(B)}):function(A){setTimeout(w,0,A)},E.setImmediate=function(A){"function"!=typeof A&&(A=new Function(""+A));for(var B=new Array(arguments.length-1),e=0;e>24&255;return{r:A>>16&255,g:A>>8&255,b:255&A,a:B>0?B:255}}static hexToRgb(A){A.startsWith("#")&&(A=A.substring(1));const B=parseInt(A,16);if(isNaN(B))return null;if(6===A.length)return{r:B>>16&255,g:B>>8&255,b:255&B};if(3===A.length){const A=B>>8&15,t=B>>4&15,e=15&B;return{r:A<<4|A,g:t<<4|t,b:e<<4|e}}return null}static rgbToHex(A){return t.decimalToHex(t.rgbToDecimal(A))}static rgbToDecimal(A){return(A.r<<16)+(A.g<<8)+A.b}static hexToDecimal(A){return t.rgbToDecimal(t.hexToRgb(A))}static hsvToRgb(A){let B=A.h%360;B<0&&(B+=360);const t=Math.max(0,Math.min(A.s,1)),e=Math.max(0,Math.min(A.v,1)),g=Math.floor(B/60),i=B/60-g,Q=e*(1-t),s=e*(1-t*i),n=e*(1-t*(1-i));let r,c,E;switch(g){default:case 0:r=e,c=n,E=Q;break;case 1:r=s,c=e,E=Q;break;case 2:r=Q,c=e,E=n;break;case 3:r=Q,c=s,E=e;break;case 4:r=n,c=Q,E=e;break;case 5:r=e,c=Q,E=s}return{r:Math.floor(255*r),g:Math.floor(255*c),b:Math.floor(255*E)}}static rgbToHsv(A){const B=A.r/255,t=A.g/255,e=A.b/255,g=Math.min(Math.min(B,t),e),i=Math.max(Math.max(B,t),e);let Q=0,s=0;if(g!==i){Q=60*((B===g?3:t===g?5:1)-(B===g?t-e:t===g?e-B:B-t)/(i-g))%360,s=(i-g)/i}return{h:Q,s:s,v:i}}static mixRgb(A,B,t){if(t<=0)return A;if(t>=1)return B;const e=1-t;return{r:e*A.r+t*B.r,g:e*A.g+t*B.g,b:e*A.b+t*B.b}}}A.exports=t},function(A,B,t){A.exports=function(){"use strict";var A=Array.prototype.slice;function B(A,B){B&&(A.prototype=Object.create(B.prototype)),A.prototype.constructor=A}function t(A){return Q(A)?A:L(A)}function e(A){return s(A)?A:P(A)}function g(A){return n(A)?A:v(A)}function i(A){return Q(A)&&!r(A)?A:W(A)}function Q(A){return!(!A||!A[E])}function s(A){return!(!A||!A[o])}function n(A){return!(!A||!A[w])}function r(A){return s(A)||n(A)}function c(A){return!(!A||!A[C])}B(e,t),B(g,t),B(i,t),t.isIterable=Q,t.isKeyed=s,t.isIndexed=n,t.isAssociative=r,t.isOrdered=c,t.Keyed=e,t.Indexed=g,t.Set=i;var E="@@__IMMUTABLE_ITERABLE__@@",o="@@__IMMUTABLE_KEYED__@@",w="@@__IMMUTABLE_INDEXED__@@",C="@@__IMMUTABLE_ORDERED__@@",a={},I={value:!1},Y={value:!1};function h(A){return A.value=!1,A}function M(A){A&&(A.value=!0)}function F(){}function D(A,B){B=B||0;for(var t=Math.max(0,A.length-B),e=new Array(t),g=0;g>>0;if(""+t!==B||4294967295===t)return NaN;B=t}return B<0?u(A)+B:B}function d(){return!0}function U(A,B,t){return(0===A||void 0!==t&&A<=-t)&&(void 0===B||void 0!==t&&B>=t)}function N(A,B){return G(A,B,0)}function m(A,B){return G(A,B,B)}function G(A,B,t){return void 0===A?t:A<0?Math.max(0,B+A):void 0===B?A:Math.min(B,A)}var f,H,R,p="function"==typeof Symbol&&Symbol.iterator,y=p||"@@iterator";function J(A){this.next=A}function k(A,B,t,e){var g=0===A?B:1===A?t:[B,t];return e?e.value=g:e={value:g,done:!1},e}function T(){return{value:void 0,done:!0}}function j(A){return!!b(A)}function x(A){return A&&"function"==typeof A.next}function S(A){var B=b(A);return B&&B.call(A)}function b(A){var B=A&&(p&&A[p]||A["@@iterator"]);if("function"==typeof B)return B}function z(A){return A&&"number"==typeof A.length}function L(A){return null==A?_():Q(A)?A.toSeq():function(A){var B=AA(A)||"object"==typeof A&&new K(A);if(!B)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+A);return B}(A)}function P(A){return null==A?_().toKeyedSeq():Q(A)?s(A)?A.toSeq():A.fromEntrySeq():q(A)}function v(A){return null==A?_():Q(A)?s(A)?A.entrySeq():A.toIndexedSeq():$(A)}function W(A){return(null==A?_():Q(A)?s(A)?A.entrySeq():A:$(A)).toSetSeq()}function V(A){this._array=A,this.size=A.length}function K(A){var B=Object.keys(A);this._object=A,this._keys=B,this.size=B.length}function O(A){this._iterable=A,this.size=A.length||A.size}function X(A){this._iterator=A,this._iteratorCache=[]}function Z(A){return!(!A||!A["@@__IMMUTABLE_SEQ__@@"])}function _(){return f||(f=new V([]))}function q(A){var B=Array.isArray(A)?new V(A).fromEntrySeq():x(A)?new X(A).fromEntrySeq():j(A)?new O(A).fromEntrySeq():"object"==typeof A?new K(A):void 0;if(!B)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+A);return B}function $(A){var B=AA(A);if(!B)throw new TypeError("Expected Array or iterable object of values: "+A);return B}function AA(A){return z(A)?new V(A):x(A)?new X(A):j(A)?new O(A):void 0}function BA(A,B,t,e){var g=A._cache;if(g){for(var i=g.length-1,Q=0;Q<=i;Q++){var s=g[t?i-Q:Q];if(!1===B(s[1],e?s[0]:Q,A))return Q+1}return Q}return A.__iterateUncached(B,t)}function tA(A,B,t,e){var g=A._cache;if(g){var i=g.length-1,Q=0;return new J((function(){var A=g[t?i-Q:Q];return Q++>i?{value:void 0,done:!0}:k(B,e?A[0]:Q-1,A[1])}))}return A.__iteratorUncached(B,t)}function eA(A,B){return B?function A(B,t,e,g){return Array.isArray(t)?B.call(g,e,v(t).map((function(e,g){return A(B,e,g,t)}))):iA(t)?B.call(g,e,P(t).map((function(e,g){return A(B,e,g,t)}))):t}(B,A,"",{"":A}):gA(A)}function gA(A){return Array.isArray(A)?v(A).map(gA).toList():iA(A)?P(A).map(gA).toMap():A}function iA(A){return A&&(A.constructor===Object||void 0===A.constructor)}function QA(A,B){if(A===B||A!=A&&B!=B)return!0;if(!A||!B)return!1;if("function"==typeof A.valueOf&&"function"==typeof B.valueOf){if((A=A.valueOf())===(B=B.valueOf())||A!=A&&B!=B)return!0;if(!A||!B)return!1}return!("function"!=typeof A.equals||"function"!=typeof B.equals||!A.equals(B))}function sA(A,B){if(A===B)return!0;if(!Q(B)||void 0!==A.size&&void 0!==B.size&&A.size!==B.size||void 0!==A.__hash&&void 0!==B.__hash&&A.__hash!==B.__hash||s(A)!==s(B)||n(A)!==n(B)||c(A)!==c(B))return!1;if(0===A.size&&0===B.size)return!0;var t=!r(A);if(c(A)){var e=A.entries();return B.every((function(A,B){var g=e.next().value;return g&&QA(g[1],A)&&(t||QA(g[0],B))}))&&e.next().done}var g=!1;if(void 0===A.size)if(void 0===B.size)"function"==typeof A.cacheResult&&A.cacheResult();else{g=!0;var i=A;A=B,B=i}var E=!0,o=B.__iterate((function(B,e){if(t?!A.has(B):g?!QA(B,A.get(e,a)):!QA(A.get(e,a),B))return E=!1,!1}));return E&&A.size===o}function nA(A,B){if(!(this instanceof nA))return new nA(A,B);if(this._value=A,this.size=void 0===B?1/0:Math.max(0,B),0===this.size){if(H)return H;H=this}}function rA(A,B){if(!A)throw new Error(B)}function cA(A,B,t){if(!(this instanceof cA))return new cA(A,B,t);if(rA(0!==t,"Cannot step a Range by 0"),A=A||0,void 0===B&&(B=1/0),t=void 0===t?1:Math.abs(t),Be?{value:void 0,done:!0}:k(A,g,t[B?e-g++:g++])}))},B(K,P),K.prototype.get=function(A,B){return void 0===B||this.has(A)?this._object[A]:B},K.prototype.has=function(A){return this._object.hasOwnProperty(A)},K.prototype.__iterate=function(A,B){for(var t=this._object,e=this._keys,g=e.length-1,i=0;i<=g;i++){var Q=e[B?g-i:i];if(!1===A(t[Q],Q,this))return i+1}return i},K.prototype.__iterator=function(A,B){var t=this._object,e=this._keys,g=e.length-1,i=0;return new J((function(){var Q=e[B?g-i:i];return i++>g?{value:void 0,done:!0}:k(A,Q,t[Q])}))},K.prototype[C]=!0,B(O,v),O.prototype.__iterateUncached=function(A,B){if(B)return this.cacheResult().__iterate(A,B);var t=S(this._iterable),e=0;if(x(t))for(var g;!(g=t.next()).done&&!1!==A(g.value,e++,this););return e},O.prototype.__iteratorUncached=function(A,B){if(B)return this.cacheResult().__iterator(A,B);var t=S(this._iterable);if(!x(t))return new J(T);var e=0;return new J((function(){var B=t.next();return B.done?B:k(A,e++,B.value)}))},B(X,v),X.prototype.__iterateUncached=function(A,B){if(B)return this.cacheResult().__iterate(A,B);for(var t,e=this._iterator,g=this._iteratorCache,i=0;i=e.length){var B=t.next();if(B.done)return B;e[g]=B.value}return k(A,g,e[g++])}))},B(nA,v),nA.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},nA.prototype.get=function(A,B){return this.has(A)?this._value:B},nA.prototype.includes=function(A){return QA(this._value,A)},nA.prototype.slice=function(A,B){var t=this.size;return U(A,B,t)?this:new nA(this._value,m(B,t)-N(A,t))},nA.prototype.reverse=function(){return this},nA.prototype.indexOf=function(A){return QA(this._value,A)?0:-1},nA.prototype.lastIndexOf=function(A){return QA(this._value,A)?this.size:-1},nA.prototype.__iterate=function(A,B){for(var t=0;t=0&&B=0&&tt?{value:void 0,done:!0}:k(A,i++,Q)}))},cA.prototype.equals=function(A){return A instanceof cA?this._start===A._start&&this._end===A._end&&this._step===A._step:sA(this,A)},B(EA,t),B(oA,EA),B(wA,EA),B(CA,EA),EA.Keyed=oA,EA.Indexed=wA,EA.Set=CA;var aA="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(A,B){var t=65535&(A|=0),e=65535&(B|=0);return t*e+((A>>>16)*e+t*(B>>>16)<<16>>>0)|0};function IA(A){return A>>>1&1073741824|3221225471&A}function YA(A){if(!1===A||null==A)return 0;if("function"==typeof A.valueOf&&(!1===(A=A.valueOf())||null==A))return 0;if(!0===A)return 1;var B=typeof A;if("number"===B){if(A!=A||A===1/0)return 0;var t=0|A;for(t!==A&&(t^=4294967295*A);A>4294967295;)t^=A/=4294967295;return IA(t)}if("string"===B)return A.length>UA?function(A){var B=GA[A];return void 0===B&&(B=hA(A),mA===NA&&(mA=0,GA={}),mA++,GA[A]=B),B}(A):hA(A);if("function"==typeof A.hashCode)return A.hashCode();if("object"===B)return function(A){var B;if(uA&&void 0!==(B=MA.get(A)))return B;if(void 0!==(B=A[dA]))return B;if(!DA){if(void 0!==(B=A.propertyIsEnumerable&&A.propertyIsEnumerable[dA]))return B;if(void 0!==(B=function(A){if(A&&A.nodeType>0)switch(A.nodeType){case 1:return A.uniqueID;case 9:return A.documentElement&&A.documentElement.uniqueID}}(A)))return B}if(B=++lA,1073741824&lA&&(lA=0),uA)MA.set(A,B);else{if(void 0!==FA&&!1===FA(A))throw new Error("Non-extensible objects are not allowed as keys.");if(DA)Object.defineProperty(A,dA,{enumerable:!1,configurable:!1,writable:!1,value:B});else if(void 0!==A.propertyIsEnumerable&&A.propertyIsEnumerable===A.constructor.prototype.propertyIsEnumerable)A.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},A.propertyIsEnumerable[dA]=B;else{if(void 0===A.nodeType)throw new Error("Unable to set a non-enumerable property on object.");A[dA]=B}}return B}(A);if("function"==typeof A.toString)return hA(A.toString());throw new Error("Value type "+B+" cannot be hashed.")}function hA(A){for(var B=0,t=0;t=B.length)throw new Error("Missing value for key: "+B[t]);A.set(B[t],B[t+1])}}))},HA.prototype.toString=function(){return this.__toString("Map {","}")},HA.prototype.get=function(A,B){return this._root?this._root.get(0,void 0,A,B):B},HA.prototype.set=function(A,B){return WA(this,A,B)},HA.prototype.setIn=function(A,B){return this.updateIn(A,a,(function(){return B}))},HA.prototype.remove=function(A){return WA(this,A,a)},HA.prototype.deleteIn=function(A){return this.updateIn(A,(function(){return a}))},HA.prototype.update=function(A,B,t){return 1===arguments.length?A(this):this.updateIn([A],B,t)},HA.prototype.updateIn=function(A,B,t){t||(t=B,B=void 0);var e=function A(B,t,e,g){var i=B===a,Q=t.next();if(Q.done){var s=i?e:B,n=g(s);return n===s?B:n}rA(i||B&&B.set,"invalid keyPath");var r=Q.value,c=i?a:B.get(r,a),E=A(c,t,e,g);return E===c?B:E===a?B.remove(r):(i?vA():B).set(r,E)}(this,XB(A),B,t);return e===a?void 0:e},HA.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):vA()},HA.prototype.merge=function(){return XA(this,void 0,arguments)},HA.prototype.mergeWith=function(B){var t=A.call(arguments,1);return XA(this,B,t)},HA.prototype.mergeIn=function(B){var t=A.call(arguments,1);return this.updateIn(B,vA(),(function(A){return"function"==typeof A.merge?A.merge.apply(A,t):t[t.length-1]}))},HA.prototype.mergeDeep=function(){return XA(this,ZA,arguments)},HA.prototype.mergeDeepWith=function(B){var t=A.call(arguments,1);return XA(this,_A(B),t)},HA.prototype.mergeDeepIn=function(B){var t=A.call(arguments,1);return this.updateIn(B,vA(),(function(A){return"function"==typeof A.mergeDeep?A.mergeDeep.apply(A,t):t[t.length-1]}))},HA.prototype.sort=function(A){return DB(xB(this,A))},HA.prototype.sortBy=function(A,B){return DB(xB(this,B,A))},HA.prototype.withMutations=function(A){var B=this.asMutable();return A(B),B.wasAltered()?B.__ensureOwner(this.__ownerID):this},HA.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new F)},HA.prototype.asImmutable=function(){return this.__ensureOwner()},HA.prototype.wasAltered=function(){return this.__altered},HA.prototype.__iterator=function(A,B){return new bA(this,A,B)},HA.prototype.__iterate=function(A,B){var t=this,e=0;return this._root&&this._root.iterate((function(B){return e++,A(B[1],B[0],t)}),B),e},HA.prototype.__ensureOwner=function(A){return A===this.__ownerID?this:A?PA(this.size,this._root,A,this.__hash):(this.__ownerID=A,this.__altered=!1,this)},HA.isMap=RA;var pA,yA="@@__IMMUTABLE_MAP__@@",JA=HA.prototype;function kA(A,B){this.ownerID=A,this.entries=B}function TA(A,B,t){this.ownerID=A,this.bitmap=B,this.nodes=t}function jA(A,B,t){this.ownerID=A,this.count=B,this.nodes=t}function xA(A,B,t){this.ownerID=A,this.keyHash=B,this.entries=t}function SA(A,B,t){this.ownerID=A,this.keyHash=B,this.entry=t}function bA(A,B,t){this._type=B,this._reverse=t,this._stack=A._root&&LA(A._root)}function zA(A,B){return k(A,B[0],B[1])}function LA(A,B){return{node:A,index:0,__prev:B}}function PA(A,B,t,e){var g=Object.create(JA);return g.size=A,g._root=B,g.__ownerID=t,g.__hash=e,g.__altered=!1,g}function vA(){return pA||(pA=PA(0))}function WA(A,B,t){var e,g;if(A._root){var i=h(I),Q=h(Y);if(e=VA(A._root,A.__ownerID,0,void 0,B,t,i,Q),!Q.value)return A;g=A.size+(i.value?t===a?-1:1:0)}else{if(t===a)return A;g=1,e=new kA(A.__ownerID,[[B,t]])}return A.__ownerID?(A.size=g,A._root=e,A.__hash=void 0,A.__altered=!0,A):e?PA(g,e):vA()}function VA(A,B,t,e,g,i,Q,s){return A?A.update(B,t,e,g,i,Q,s):i===a?A:(M(s),M(Q),new SA(B,e,[g,i]))}function KA(A){return A.constructor===SA||A.constructor===xA}function OA(A,B,t,e,g){if(A.keyHash===e)return new xA(B,e,[A.entry,g]);var i,Q=31&(0===t?A.keyHash:A.keyHash>>>t),s=31&(0===t?e:e>>>t);return new TA(B,1<>1&1431655765))+(A>>2&858993459))+(A>>4)&252645135,A+=A>>8,127&(A+=A>>16)}function AB(A,B,t,e){var g=e?A:D(A);return g[B]=t,g}JA[yA]=!0,JA.delete=JA.remove,JA.removeIn=JA.deleteIn,kA.prototype.get=function(A,B,t,e){for(var g=this.entries,i=0,Q=g.length;i=BB)return function(A,B,t,e){A||(A=new F);for(var g=new SA(A,YA(t),[t,e]),i=0;i>>A)),i=this.bitmap;return 0==(i&g)?e:this.nodes[$A(i&g-1)].get(A+5,B,t,e)},TA.prototype.update=function(A,B,t,e,g,i,Q){void 0===t&&(t=YA(e));var s=31&(0===B?t:t>>>B),n=1<=tB)return function(A,B,t,e,g){for(var i=0,Q=new Array(32),s=0;0!==t;s++,t>>>=1)Q[s]=1&t?B[i++]:void 0;return Q[e]=g,new jA(A,i+1,Q)}(A,o,r,s,C);if(c&&!C&&2===o.length&&KA(o[1^E]))return o[1^E];if(c&&C&&1===o.length&&KA(C))return C;var I=A&&A===this.ownerID,Y=c?C?r:r^n:r|n,h=c?C?AB(o,E,C,I):function(A,B,t){var e=A.length-1;if(t&&B===e)return A.pop(),A;for(var g=new Array(e),i=0,Q=0;Q>>A),i=this.nodes[g];return i?i.get(A+5,B,t,e):e},jA.prototype.update=function(A,B,t,e,g,i,Q){void 0===t&&(t=YA(e));var s=31&(0===B?t:t>>>B),n=g===a,r=this.nodes,c=r[s];if(n&&!c)return this;var E=VA(c,A,B+5,t,e,g,i,Q);if(E===c)return this;var o=this.count;if(c){if(!E&&--o0&&e<32?wB(0,e,5,null,new nB(t.toArray())):B.withMutations((function(A){A.setSize(e),t.forEach((function(B,t){return A.set(t,B)}))})))}function iB(A){return!(!A||!A[QB])}B(gB,wA),gB.of=function(){return this(arguments)},gB.prototype.toString=function(){return this.__toString("List [","]")},gB.prototype.get=function(A,B){if((A=l(this,A))>=0&&A=A.size||B<0)return A.withMutations((function(A){B<0?hB(A,B).set(0,t):hB(A,0,B+1).set(B,t)}));B+=A._origin;var e=A._tail,g=A._root,i=h(Y);return B>=FB(A._capacity)?e=aB(e,A.__ownerID,0,B,t,i):g=aB(g,A.__ownerID,A._level,B,t,i),i.value?A.__ownerID?(A._root=g,A._tail=e,A.__hash=void 0,A.__altered=!0,A):wB(A._origin,A._capacity,A._level,g,e):A}(this,A,B)},gB.prototype.remove=function(A){return this.has(A)?0===A?this.shift():A===this.size-1?this.pop():this.splice(A,1):this},gB.prototype.insert=function(A,B){return this.splice(A,0,B)},gB.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=5,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):CB()},gB.prototype.push=function(){var A=arguments,B=this.size;return this.withMutations((function(t){hB(t,0,B+A.length);for(var e=0;e>>B&31;if(e>=this.array.length)return new nB([],A);var g,i=0===e;if(B>0){var Q=this.array[e];if((g=Q&&Q.removeBefore(A,B-5,t))===Q&&i)return this}if(i&&!g)return this;var s=IB(this,A);if(!i)for(var n=0;n>>B&31;if(g>=this.array.length)return this;if(B>0){var i=this.array[g];if((e=i&&i.removeAfter(A,B-5,t))===i&&g===this.array.length-1)return this}var Q=IB(this,A);return Q.array.splice(g+1),e&&(Q.array[g]=e),Q};var rB,cB,EB={};function oB(A,B){var t=A._origin,e=A._capacity,g=FB(e),i=A._tail;return Q(A._root,A._level,0);function Q(A,s,n){return 0===s?function(A,Q){var s=Q===g?i&&i.array:A&&A.array,n=Q>t?0:t-Q,r=e-Q;return r>32&&(r=32),function(){if(n===r)return EB;var A=B?--r:n++;return s&&s[A]}}(A,n):function(A,g,i){var s,n=A&&A.array,r=i>t?0:t-i>>g,c=1+(e-i>>g);return c>32&&(c=32),function(){for(;;){if(s){var A=s();if(A!==EB)return A;s=null}if(r===c)return EB;var t=B?--c:r++;s=Q(n&&n[t],g-5,i+(t<>>t&31,n=A&&s0){var r=A&&A.array[s],c=aB(r,B,t-5,e,g,i);return c===r?A:((Q=IB(A,B)).array[s]=c,Q)}return n&&A.array[s]===g?A:(M(i),Q=IB(A,B),void 0===g&&s===Q.array.length-1?Q.array.pop():Q.array[s]=g,Q)}function IB(A,B){return B&&A&&B===A.ownerID?A:new nB(A?A.array.slice():[],B)}function YB(A,B){if(B>=FB(A._capacity))return A._tail;if(B<1<0;)t=t.array[B>>>e&31],e-=5;return t}}function hB(A,B,t){void 0!==B&&(B|=0),void 0!==t&&(t|=0);var e=A.__ownerID||new F,g=A._origin,i=A._capacity,Q=g+B,s=void 0===t?i:t<0?i+t:g+t;if(Q===g&&s===i)return A;if(Q>=s)return A.clear();for(var n=A._level,r=A._root,c=0;Q+c<0;)r=new nB(r&&r.array.length?[void 0,r]:[],e),c+=1<<(n+=5);c&&(Q+=c,g+=c,s+=c,i+=c);for(var E=FB(i),o=FB(s);o>=1<E?new nB([],e):w;if(w&&o>E&&Q5;I-=5){var Y=E>>>I&31;a=a.array[Y]=IB(a.array[Y],e)}a.array[E>>>5&31]=w}if(s=o)Q-=o,s-=o,n=5,r=null,C=C&&C.removeBefore(e,0,Q);else if(Q>g||o>>n&31;if(h!==o>>>n&31)break;h&&(c+=(1<g&&(r=r.removeBefore(e,n,Q-c)),r&&oi&&(i=r.size),Q(n)||(r=r.map((function(A){return eA(A)}))),e.push(r)}return i>A.size&&(A=A.setSize(i)),qA(A,B,e)}function FB(A){return A<32?0:A-1>>>5<<5}function DB(A){return null==A?dB():uB(A)?A:dB().withMutations((function(B){var t=e(A);fA(t.size),t.forEach((function(A,t){return B.set(t,A)}))}))}function uB(A){return RA(A)&&c(A)}function lB(A,B,t,e){var g=Object.create(DB.prototype);return g.size=A?A.size:0,g._map=A,g._list=B,g.__ownerID=t,g.__hash=e,g}function dB(){return cB||(cB=lB(vA(),CB()))}function UB(A,B,t){var e,g,i=A._map,Q=A._list,s=i.get(B),n=void 0!==s;if(t===a){if(!n)return A;Q.size>=32&&Q.size>=2*i.size?(e=(g=Q.filter((function(A,B){return void 0!==A&&s!==B}))).toKeyedSeq().map((function(A){return A[0]})).flip().toMap(),A.__ownerID&&(e.__ownerID=g.__ownerID=A.__ownerID)):(e=i.remove(B),g=s===Q.size-1?Q.pop():Q.set(s,void 0))}else if(n){if(t===Q.get(s)[1])return A;e=i,g=Q.set(s,[B,t])}else e=i.set(B,Q.size),g=Q.set(Q.size,[B,t]);return A.__ownerID?(A.size=e.size,A._map=e,A._list=g,A.__hash=void 0,A):lB(e,g)}function NB(A,B){this._iter=A,this._useKeys=B,this.size=A.size}function mB(A){this._iter=A,this.size=A.size}function GB(A){this._iter=A,this.size=A.size}function fB(A){this._iter=A,this.size=A.size}function HB(A){var B=VB(A);return B._iter=A,B.size=A.size,B.flip=function(){return A},B.reverse=function(){var B=A.reverse.apply(this);return B.flip=function(){return A.reverse()},B},B.has=function(B){return A.includes(B)},B.includes=function(B){return A.has(B)},B.cacheResult=KB,B.__iterateUncached=function(B,t){var e=this;return A.__iterate((function(A,t){return!1!==B(t,A,e)}),t)},B.__iteratorUncached=function(B,t){if(2===B){var e=A.__iterator(B,t);return new J((function(){var A=e.next();if(!A.done){var B=A.value[0];A.value[0]=A.value[1],A.value[1]=B}return A}))}return A.__iterator(1===B?0:1,t)},B}function RB(A,B,t){var e=VB(A);return e.size=A.size,e.has=function(B){return A.has(B)},e.get=function(e,g){var i=A.get(e,a);return i===a?g:B.call(t,i,e,A)},e.__iterateUncached=function(e,g){var i=this;return A.__iterate((function(A,g,Q){return!1!==e(B.call(t,A,g,Q),g,i)}),g)},e.__iteratorUncached=function(e,g){var i=A.__iterator(2,g);return new J((function(){var g=i.next();if(g.done)return g;var Q=g.value,s=Q[0];return k(e,s,B.call(t,Q[1],s,A),g)}))},e}function pB(A,B){var t=VB(A);return t._iter=A,t.size=A.size,t.reverse=function(){return A},A.flip&&(t.flip=function(){var B=HB(A);return B.reverse=function(){return A.flip()},B}),t.get=function(t,e){return A.get(B?t:-1-t,e)},t.has=function(t){return A.has(B?t:-1-t)},t.includes=function(B){return A.includes(B)},t.cacheResult=KB,t.__iterate=function(B,t){var e=this;return A.__iterate((function(A,t){return B(A,t,e)}),!t)},t.__iterator=function(B,t){return A.__iterator(B,!t)},t}function yB(A,B,t,e){var g=VB(A);return e&&(g.has=function(e){var g=A.get(e,a);return g!==a&&!!B.call(t,g,e,A)},g.get=function(e,g){var i=A.get(e,a);return i!==a&&B.call(t,i,e,A)?i:g}),g.__iterateUncached=function(g,i){var Q=this,s=0;return A.__iterate((function(A,i,n){if(B.call(t,A,i,n))return s++,g(A,e?i:s-1,Q)}),i),s},g.__iteratorUncached=function(g,i){var Q=A.__iterator(2,i),s=0;return new J((function(){for(;;){var i=Q.next();if(i.done)return i;var n=i.value,r=n[0],c=n[1];if(B.call(t,c,r,A))return k(g,e?r:s++,c,i)}}))},g}function JB(A,B,t,e){var g=A.size;if(void 0!==B&&(B|=0),void 0!==t&&(t===1/0?t=g:t|=0),U(B,t,g))return A;var i=N(B,g),Q=m(t,g);if(i!=i||Q!=Q)return JB(A.toSeq().cacheResult(),B,t,e);var s,n=Q-i;n==n&&(s=n<0?0:n);var r=VB(A);return r.size=0===s?s:A.size&&s||void 0,!e&&Z(A)&&s>=0&&(r.get=function(B,t){return(B=l(this,B))>=0&&Bs)return{value:void 0,done:!0};var A=g.next();return e||1===B?A:k(B,n-1,0===B?void 0:A.value[1],A)}))},r}function kB(A,B,t,e){var g=VB(A);return g.__iterateUncached=function(g,i){var Q=this;if(i)return this.cacheResult().__iterate(g,i);var s=!0,n=0;return A.__iterate((function(A,i,r){if(!s||!(s=B.call(t,A,i,r)))return n++,g(A,e?i:n-1,Q)})),n},g.__iteratorUncached=function(g,i){var Q=this;if(i)return this.cacheResult().__iterator(g,i);var s=A.__iterator(2,i),n=!0,r=0;return new J((function(){var A,i,c;do{if((A=s.next()).done)return e||1===g?A:k(g,r++,0===g?void 0:A.value[1],A);var E=A.value;i=E[0],c=E[1],n&&(n=B.call(t,c,i,Q))}while(n);return 2===g?A:k(g,i,c,A)}))},g}function TB(A,B){var t=s(A),g=[A].concat(B).map((function(A){return Q(A)?t&&(A=e(A)):A=t?q(A):$(Array.isArray(A)?A:[A]),A})).filter((function(A){return 0!==A.size}));if(0===g.length)return A;if(1===g.length){var i=g[0];if(i===A||t&&s(i)||n(A)&&n(i))return i}var r=new V(g);return t?r=r.toKeyedSeq():n(A)||(r=r.toSetSeq()),(r=r.flatten(!0)).size=g.reduce((function(A,B){if(void 0!==A){var t=B.size;if(void 0!==t)return A+t}}),0),r}function jB(A,B,t){var e=VB(A);return e.__iterateUncached=function(e,g){var i=0,s=!1;return function A(n,r){var c=this;n.__iterate((function(g,n){return(!B||r0}function zB(A,B,e){var g=VB(A);return g.size=new V(e).map((function(A){return A.size})).min(),g.__iterate=function(A,B){for(var t,e=this.__iterator(1,B),g=0;!(t=e.next()).done&&!1!==A(t.value,g++,this););return g},g.__iteratorUncached=function(A,g){var i=e.map((function(A){return A=t(A),S(g?A.reverse():A)})),Q=0,s=!1;return new J((function(){var t;return s||(t=i.map((function(A){return A.next()})),s=t.some((function(A){return A.done}))),s?{value:void 0,done:!0}:k(A,Q++,B.apply(null,t.map((function(A){return A.value}))))}))},g}function LB(A,B){return Z(A)?B:A.constructor(B)}function PB(A){if(A!==Object(A))throw new TypeError("Expected [K, V] tuple: "+A)}function vB(A){return fA(A.size),u(A)}function WB(A){return s(A)?e:n(A)?g:i}function VB(A){return Object.create((s(A)?P:n(A)?v:W).prototype)}function KB(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):L.prototype.cacheResult.call(this)}function OB(A,B){return A>B?1:A=0;t--)B={value:arguments[t],next:B};return this.__ownerID?(this.size=A,this._head=B,this.__hash=void 0,this.__altered=!0,this):Ft(A,B)},at.prototype.pushAll=function(A){if(0===(A=g(A)).size)return this;fA(A.size);var B=this.size,t=this._head;return A.reverse().forEach((function(A){B++,t={value:A,next:t}})),this.__ownerID?(this.size=B,this._head=t,this.__hash=void 0,this.__altered=!0,this):Ft(B,t)},at.prototype.pop=function(){return this.slice(1)},at.prototype.unshift=function(){return this.push.apply(this,arguments)},at.prototype.unshiftAll=function(A){return this.pushAll(A)},at.prototype.shift=function(){return this.pop.apply(this,arguments)},at.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Dt()},at.prototype.slice=function(A,B){if(U(A,B,this.size))return this;var t=N(A,this.size);if(m(B,this.size)!==this.size)return wA.prototype.slice.call(this,A,B);for(var e=this.size-t,g=this._head;t--;)g=g.next;return this.__ownerID?(this.size=e,this._head=g,this.__hash=void 0,this.__altered=!0,this):Ft(e,g)},at.prototype.__ensureOwner=function(A){return A===this.__ownerID?this:A?Ft(this.size,this._head,A,this.__hash):(this.__ownerID=A,this.__altered=!1,this)},at.prototype.__iterate=function(A,B){if(B)return this.reverse().__iterate(A);for(var t=0,e=this._head;e&&!1!==A(e.value,t++,this);)e=e.next;return t},at.prototype.__iterator=function(A,B){if(B)return this.reverse().__iterator(A);var t=0,e=this._head;return new J((function(){if(e){var B=e.value;return e=e.next,k(A,t++,B)}return{value:void 0,done:!0}}))},at.isStack=It;var Yt,ht="@@__IMMUTABLE_STACK__@@",Mt=at.prototype;function Ft(A,B,t,e){var g=Object.create(Mt);return g.size=A,g._head=B,g.__ownerID=t,g.__hash=e,g.__altered=!1,g}function Dt(){return Yt||(Yt=Ft(0))}function ut(A,B){var t=function(t){A.prototype[t]=B[t]};return Object.keys(B).forEach(t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(B).forEach(t),A}Mt[ht]=!0,Mt.withMutations=JA.withMutations,Mt.asMutable=JA.asMutable,Mt.asImmutable=JA.asImmutable,Mt.wasAltered=JA.wasAltered,t.Iterator=J,ut(t,{toArray:function(){fA(this.size);var A=new Array(this.size||0);return this.valueSeq().__iterate((function(B,t){A[t]=B})),A},toIndexedSeq:function(){return new mB(this)},toJS:function(){return this.toSeq().map((function(A){return A&&"function"==typeof A.toJS?A.toJS():A})).__toJS()},toJSON:function(){return this.toSeq().map((function(A){return A&&"function"==typeof A.toJSON?A.toJSON():A})).__toJS()},toKeyedSeq:function(){return new NB(this,!0)},toMap:function(){return HA(this.toKeyedSeq())},toObject:function(){fA(this.size);var A={};return this.__iterate((function(B,t){A[t]=B})),A},toOrderedMap:function(){return DB(this.toKeyedSeq())},toOrderedSet:function(){return rt(s(this)?this.valueSeq():this)},toSet:function(){return Bt(s(this)?this.valueSeq():this)},toSetSeq:function(){return new GB(this)},toSeq:function(){return n(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return at(s(this)?this.valueSeq():this)},toList:function(){return gB(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(A,B){return 0===this.size?A+B:A+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+B},concat:function(){var B=A.call(arguments,0);return LB(this,TB(this,B))},includes:function(A){return this.some((function(B){return QA(B,A)}))},entries:function(){return this.__iterator(2)},every:function(A,B){fA(this.size);var t=!0;return this.__iterate((function(e,g,i){if(!A.call(B,e,g,i))return t=!1,!1})),t},filter:function(A,B){return LB(this,yB(this,A,B,!0))},find:function(A,B,t){var e=this.findEntry(A,B);return e?e[1]:t},forEach:function(A,B){return fA(this.size),this.__iterate(B?A.bind(B):A)},join:function(A){fA(this.size),A=void 0!==A?""+A:",";var B="",t=!0;return this.__iterate((function(e){t?t=!1:B+=A,B+=null!=e?e.toString():""})),B},keys:function(){return this.__iterator(0)},map:function(A,B){return LB(this,RB(this,A,B))},reduce:function(A,B,t){var e,g;return fA(this.size),arguments.length<2?g=!0:e=B,this.__iterate((function(B,i,Q){g?(g=!1,e=B):e=A.call(t,e,B,i,Q)})),e},reduceRight:function(A,B,t){var e=this.toKeyedSeq().reverse();return e.reduce.apply(e,arguments)},reverse:function(){return LB(this,pB(this,!0))},slice:function(A,B){return LB(this,JB(this,A,B,!0))},some:function(A,B){return!this.every(mt(A),B)},sort:function(A){return LB(this,xB(this,A))},values:function(){return this.__iterator(1)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(A,B){return u(A?this.toSeq().filter(A,B):this)},countBy:function(A,B){return function(A,B,t){var e=HA().asMutable();return A.__iterate((function(g,i){e.update(B.call(t,g,i,A),0,(function(A){return A+1}))})),e.asImmutable()}(this,A,B)},equals:function(A){return sA(this,A)},entrySeq:function(){var A=this;if(A._cache)return new V(A._cache);var B=A.toSeq().map(Nt).toIndexedSeq();return B.fromEntrySeq=function(){return A.toSeq()},B},filterNot:function(A,B){return this.filter(mt(A),B)},findEntry:function(A,B,t){var e=t;return this.__iterate((function(t,g,i){if(A.call(B,t,g,i))return e=[g,t],!1})),e},findKey:function(A,B){var t=this.findEntry(A,B);return t&&t[0]},findLast:function(A,B,t){return this.toKeyedSeq().reverse().find(A,B,t)},findLastEntry:function(A,B,t){return this.toKeyedSeq().reverse().findEntry(A,B,t)},findLastKey:function(A,B){return this.toKeyedSeq().reverse().findKey(A,B)},first:function(){return this.find(d)},flatMap:function(A,B){return LB(this,function(A,B,t){var e=WB(A);return A.toSeq().map((function(g,i){return e(B.call(t,g,i,A))})).flatten(!0)}(this,A,B))},flatten:function(A){return LB(this,jB(this,A,!0))},fromEntrySeq:function(){return new fB(this)},get:function(A,B){return this.find((function(B,t){return QA(t,A)}),void 0,B)},getIn:function(A,B){for(var t,e=this,g=XB(A);!(t=g.next()).done;){var i=t.value;if((e=e&&e.get?e.get(i,a):a)===a)return B}return e},groupBy:function(A,B){return function(A,B,t){var e=s(A),g=(c(A)?DB():HA()).asMutable();A.__iterate((function(i,Q){g.update(B.call(t,i,Q,A),(function(A){return(A=A||[]).push(e?[Q,i]:i),A}))}));var i=WB(A);return g.map((function(B){return LB(A,i(B))}))}(this,A,B)},has:function(A){return this.get(A,a)!==a},hasIn:function(A){return this.getIn(A,a)!==a},isSubset:function(A){return A="function"==typeof A.includes?A:t(A),this.every((function(B){return A.includes(B)}))},isSuperset:function(A){return(A="function"==typeof A.isSubset?A:t(A)).isSubset(this)},keyOf:function(A){return this.findKey((function(B){return QA(B,A)}))},keySeq:function(){return this.toSeq().map(Ut).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(A){return this.toKeyedSeq().reverse().keyOf(A)},max:function(A){return SB(this,A)},maxBy:function(A,B){return SB(this,B,A)},min:function(A){return SB(this,A?Gt(A):Rt)},minBy:function(A,B){return SB(this,B?Gt(B):Rt,A)},rest:function(){return this.slice(1)},skip:function(A){return this.slice(Math.max(0,A))},skipLast:function(A){return LB(this,this.toSeq().reverse().skip(A).reverse())},skipWhile:function(A,B){return LB(this,kB(this,A,B,!0))},skipUntil:function(A,B){return this.skipWhile(mt(A),B)},sortBy:function(A,B){return LB(this,xB(this,B,A))},take:function(A){return this.slice(0,Math.max(0,A))},takeLast:function(A){return LB(this,this.toSeq().reverse().take(A).reverse())},takeWhile:function(A,B){return LB(this,function(A,B,t){var e=VB(A);return e.__iterateUncached=function(e,g){var i=this;if(g)return this.cacheResult().__iterate(e,g);var Q=0;return A.__iterate((function(A,g,s){return B.call(t,A,g,s)&&++Q&&e(A,g,i)})),Q},e.__iteratorUncached=function(e,g){var i=this;if(g)return this.cacheResult().__iterator(e,g);var Q=A.__iterator(2,g),s=!0;return new J((function(){if(!s)return{value:void 0,done:!0};var A=Q.next();if(A.done)return A;var g=A.value,n=g[0],r=g[1];return B.call(t,r,n,i)?2===e?A:k(e,n,r,A):(s=!1,{value:void 0,done:!0})}))},e}(this,A,B))},takeUntil:function(A,B){return this.takeWhile(mt(A),B)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(A){if(A.size===1/0)return 0;var B=c(A),t=s(A),e=B?1:0;return function(A,B){return B=aA(B,3432918353),B=aA(B<<15|B>>>-15,461845907),B=aA(B<<13|B>>>-13,5),B=aA((B=(B+3864292196|0)^A)^B>>>16,2246822507),B=IA((B=aA(B^B>>>13,3266489909))^B>>>16)}(A.__iterate(t?B?function(A,B){e=31*e+pt(YA(A),YA(B))|0}:function(A,B){e=e+pt(YA(A),YA(B))|0}:B?function(A){e=31*e+YA(A)|0}:function(A){e=e+YA(A)|0}),e)}(this))}});var lt=t.prototype;lt[E]=!0,lt[y]=lt.values,lt.__toJS=lt.toArray,lt.__toStringMapper=ft,lt.inspect=lt.toSource=function(){return this.toString()},lt.chain=lt.flatMap,lt.contains=lt.includes,ut(e,{flip:function(){return LB(this,HB(this))},mapEntries:function(A,B){var t=this,e=0;return LB(this,this.toSeq().map((function(g,i){return A.call(B,[i,g],e++,t)})).fromEntrySeq())},mapKeys:function(A,B){var t=this;return LB(this,this.toSeq().flip().map((function(e,g){return A.call(B,e,g,t)})).flip())}});var dt=e.prototype;function Ut(A,B){return B}function Nt(A,B){return[B,A]}function mt(A){return function(){return!A.apply(this,arguments)}}function Gt(A){return function(){return-A.apply(this,arguments)}}function ft(A){return"string"==typeof A?JSON.stringify(A):String(A)}function Ht(){return D(arguments)}function Rt(A,B){return AB?-1:0}function pt(A,B){return A^B+2654435769+(A<<6)+(A>>2)|0}return dt[o]=!0,dt[y]=lt.entries,dt.__toJS=lt.toObject,dt.__toStringMapper=function(A,B){return JSON.stringify(B)+": "+ft(A)},ut(g,{toKeyedSeq:function(){return new NB(this,!1)},filter:function(A,B){return LB(this,yB(this,A,B,!1))},findIndex:function(A,B){var t=this.findEntry(A,B);return t?t[0]:-1},indexOf:function(A){var B=this.keyOf(A);return void 0===B?-1:B},lastIndexOf:function(A){var B=this.lastKeyOf(A);return void 0===B?-1:B},reverse:function(){return LB(this,pB(this,!1))},slice:function(A,B){return LB(this,JB(this,A,B,!1))},splice:function(A,B){var t=arguments.length;if(B=Math.max(0|B,0),0===t||2===t&&!B)return this;A=N(A,A<0?this.count():this.size);var e=this.slice(0,A);return LB(this,1===t?e:e.concat(D(arguments,2),this.slice(A+B)))},findLastIndex:function(A,B){var t=this.findLastEntry(A,B);return t?t[0]:-1},first:function(){return this.get(0)},flatten:function(A){return LB(this,jB(this,A,!1))},get:function(A,B){return(A=l(this,A))<0||this.size===1/0||void 0!==this.size&&A>this.size?B:this.find((function(B,t){return t===A}),void 0,B)},has:function(A){return(A=l(this,A))>=0&&(void 0!==this.size?this.size===1/0||AA/200%1,shapeChanges:!1},fisheye:{uniformName:"u_fisheye",mask:2,converter:A=>Math.max(0,(A+100)/100),shapeChanges:!0},whirl:{uniformName:"u_whirl",mask:4,converter:A=>-A*Math.PI/180,shapeChanges:!0},pixelate:{uniformName:"u_pixelate",mask:8,converter:A=>Math.abs(A)/10,shapeChanges:!0},mosaic:{uniformName:"u_mosaic",mask:16,converter:A=>(A=Math.round((Math.abs(A)+10)/10),Math.max(1,Math.min(A,512))),shapeChanges:!0},brightness:{uniformName:"u_brightness",mask:32,converter:A=>Math.max(-100,Math.min(A,100))/100,shapeChanges:!1},ghost:{uniformName:"u_ghost",mask:64,converter:A=>1-Math.max(0,Math.min(A,100))/100,shapeChanges:!1}},g.EFFECTS=Object.keys(g.EFFECT_INFO),g.DRAW_MODE={default:"default",straightAlpha:"straightAlpha",silhouette:"silhouette",colorMask:"colorMask",line:"line",background:"background"},A.exports=g},function(A,B,t){const e=t(300);A.exports=e},function(A,B,t){const e=t(4),g=t(7),i=t(1),Q=t(13),s=t(131),n=t(14);class r extends s{constructor(A,B){super(B,A.blocks),this.sprite=A,this.renderer=null,this.runtime&&(this.renderer=this.runtime.renderer),this.drawableID=null,this.dragging=!1,this.effects={color:0,fisheye:0,whirl:0,pixelate:0,mosaic:0,brightness:0,ghost:0},this.isOriginal=!0,this.isStage=!1,this.x=0,this.y=0,this.direction=90,this.draggable=!1,this.visible=!0,this.size=100,this.currentCostume=0,this.rotationStyle=r.ROTATION_STYLE_ALL_AROUND,this.volume=100,this.tempo=60,this.videoTransparency=50,this.videoState=r.VIDEO_STATE.ON,this.textToSpeechLanguage=null,this.onTargetMoved=null,this.onTargetVisualChange=null,this.interpolationData=null}initDrawable(A){this.renderer&&(this.drawableID=this.renderer.createDrawable(A)),this.isOriginal||this.runtime.startHats("control_start_as_clone",null,this)}get audioPlayer(){console.warn("get audioPlayer deprecated, please update to use .sprite.soundBank methods"),console.warn(new Error("stack for debug").stack);const A=this.sprite.soundBank,B={playSound:B=>A.play(this,B)};return Object.defineProperty(this,"audioPlayer",{configurable:!1,enumerable:!0,writable:!1,value:B}),B}initAudio(){}static get ROTATION_STYLE_ALL_AROUND(){return"all around"}static get ROTATION_STYLE_LEFT_RIGHT(){return"left-right"}static get ROTATION_STYLE_NONE(){return"don't rotate"}static get VIDEO_STATE(){return{OFF:"off",ON:"on",ON_FLIPPED:"on-flipped"}}emitVisualChange(){this.onTargetVisualChange&&this.onTargetVisualChange(this)}setXY(A,B,t){if(this.isStage)return;if(this.dragging&&!t)return;const e=this.x,g=this.y;if(this.renderer){const t=this.runtime.runtimeOptions.fencing?this.renderer.getFencedPositionOfDrawable(this.drawableID,[A,B]):[A,B];this.x=t[0],this.y=t[1],this.renderer.updateDrawablePosition(this.drawableID,t),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}else this.x=A,this.y=B;this.onTargetMoved&&this.onTargetMoved(this,e,g,t),this.runtime.requestTargetsUpdate(this)}_getRenderedDirectionAndScale(){let A=this.direction,B=[this.size,this.size];if(this.rotationStyle===r.ROTATION_STYLE_NONE)A=90;else if(this.rotationStyle===r.ROTATION_STYLE_LEFT_RIGHT){A=90;B=[(this.direction<0?-1:1)*this.size,this.size]}return{direction:A,scale:B}}setDirection(A){if(!this.isStage&&isFinite(A)){if(this.direction=e.wrapClamp(A,-179,180),this.renderer){const{direction:A,scale:B}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,A,B),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}}setDraggable(A){this.isStage||(this.draggable=!!A,this.runtime.requestTargetsUpdate(this))}setVisible(A){this.isStage||(this.visible=!!A,this.renderer&&(this.renderer.updateDrawableVisible(this.drawableID,this.visible),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())),this.runtime.requestTargetsUpdate(this))}setSize(A){if(!this.isStage){if(this.renderer){const B=this.renderer.getCurrentSkinSize(this.drawableID),t=B[0],g=B[1],i=this.runtime.runtimeOptions.fencing,Q=i?Math.min(1,Math.max(5/t,5/g)):0,s=i?Math.min(1.5*this.runtime.stageWidth/t,1.5*this.runtime.stageHeight/g):1/0;this.size=100*e.clamp(A/100,Q,s);const{direction:n,scale:r}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,n,r),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}else this.size=A;this.runtime.requestTargetsUpdate(this)}}setEffect(A,B){this.effects.hasOwnProperty(A)&&(this.effects[A]=B,this.renderer&&(this.renderer.updateDrawableEffect(this.drawableID,A,B),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())))}clearEffects(){for(const A in this.effects)this.effects.hasOwnProperty(A)&&(this.effects[A]=0);if(this.renderer){for(const A in this.effects)this.effects.hasOwnProperty(A)&&this.renderer.updateDrawableEffect(this.drawableID,A,0);this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}}setCostume(A){if((A=Math.round(A))!==1/0&&A!==-1/0&&A||(A=0),this.currentCostume=e.wrapClamp(A,0,this.sprite.costumes.length-1),this.renderer){const A=this.sprite.costumes[this.currentCostume];this.renderer.updateDrawableSkinId(this.drawableID,A.skinId),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}addCostume(A,B){"number"!=typeof B||isNaN(B)?this.sprite.addCostumeAt(A,this.sprite.costumes.length):this.sprite.addCostumeAt(A,B)}renameCostume(A,B){const t=this.sprite.costumes.filter((B,t)=>A!==t).map(A=>A.name),e=this.getCostumes()[A].name,i=g.unusedName(B,t);if(this.getCostumes()[A].name=i,this.isStage){const A=this.runtime.targets;for(let B=0;B=B)return null;const t=this.sprite.deleteCostumeAt(A);return A===this.currentCostume&&A===B-1?this.setCostume(A-1):AA.name);A.name=g.unusedName(A.name,t),"number"!=typeof B||isNaN(B)?this.sprite.sounds.push(A):this.sprite.sounds.splice(B,0,A)}renameSound(A,B){const t=this.sprite.sounds.filter((B,t)=>A!==t).map(A=>A.name),e=this.sprite.sounds[A].name,i=g.unusedName(B,t);this.sprite.sounds[A].name=i,this.blocks.updateAssetName(e,i,"sound")}deleteSound(A){if(A<0||A>=this.sprite.sounds.length)return null;const B=this.sprite.sounds.splice(A,1)[0];return this.runtime.requestTargetsUpdate(this),B}setRotationStyle(A){if(A===r.ROTATION_STYLE_NONE?this.rotationStyle=r.ROTATION_STYLE_NONE:A===r.ROTATION_STYLE_ALL_AROUND?this.rotationStyle=r.ROTATION_STYLE_ALL_AROUND:A===r.ROTATION_STYLE_LEFT_RIGHT&&(this.rotationStyle=r.ROTATION_STYLE_LEFT_RIGHT),this.renderer){const{direction:A,scale:B}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,A,B),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}getCostumeIndexByName(A){const B=this.getCostumes();for(let t=0;tA/2||t.top>B/2||t.bottom<-B/2)return!0}return!1}isTouchingSprite(A){A=i.toString(A);const B=this.runtime.getSpriteTargetByName(A);if(!B||!this.renderer)return!1;const t=B.sprite.clones.filter(A=>!A.dragging).map(A=>A.drawableID);return this.renderer.isTouchingDrawables(this.drawableID,t)}isTouchingColor(A){return!!this.renderer&&this.renderer.isTouchingColor(this.drawableID,A)}colorIsTouchingColor(A,B){return!!this.renderer&&this.renderer.isTouchingColor(this.drawableID,A,B)}getLayerOrder(){return this.renderer?this.renderer.getDrawableOrder(this.drawableID):null}goToFront(){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,1/0,n.SPRITE_LAYER),this.runtime.setExecutablePosition(this,1/0)}goToBack(){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,-1/0,n.SPRITE_LAYER,!1),this.runtime.setExecutablePosition(this,-1/0)}goForwardLayers(A){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,A,n.SPRITE_LAYER,!0),this.runtime.moveExecutable(this,A)}goBackwardLayers(A){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,-A,n.SPRITE_LAYER,!0),this.runtime.moveExecutable(this,-A)}goBehindOther(A){if(this.renderer){const B=this.renderer.setDrawableOrder(A.drawableID,0,n.SPRITE_LAYER,!0);this.renderer.setDrawableOrder(this.drawableID,B,n.SPRITE_LAYER)}const B=this.runtime.executableTargets.indexOf(A);this.runtime.setExecutablePosition(this,B)}keepInFence(A,B,t){let e=t;e||(e={left:-this.runtime.stageWidth/2,right:this.runtime.stageWidth/2,top:this.runtime.stageHeight/2,bottom:-this.runtime.stageHeight/2});const g=this.getBounds();if(!g)return;g.left+=A-this.x,g.right+=A-this.x,g.top+=B-this.y,g.bottom+=B-this.y;let i=0,Q=0;return g.lefte.right&&(i+=e.right-g.right),g.top>e.top&&(Q+=e.top-g.top),g.bottom{const B=A.createClone();return B.x=400*(Math.random()-.5)/2,B.y=300*(Math.random()-.5)/2,B.direction=this.direction,B.draggable=this.draggable,B.visible=this.visible,B.size=this.size,B.currentCostume=this.currentCostume,B.rotationStyle=this.rotationStyle,B.effects=JSON.parse(JSON.stringify(this.effects)),B.variables=this.duplicateVariables(B.blocks),B.updateAllDrawableProperties(),B})}onGreenFlag(){this.clearEffects()}onStopAll(){this.clearEffects()}postSpriteInfo(A){const B=A.hasOwnProperty("force")?A.force:null,t=A.hasOwnProperty("x"),e=A.hasOwnProperty("y");(t||e)&&this.setXY(t?A.x:this.x,e?A.y:this.y,B),A.hasOwnProperty("direction")&&this.setDirection(A.direction),A.hasOwnProperty("draggable")&&this.setDraggable(A.draggable),A.hasOwnProperty("rotationStyle")&&this.setRotationStyle(A.rotationStyle),A.hasOwnProperty("visible")&&this.setVisible(A.visible),A.hasOwnProperty("size")&&this.setSize(A.size)}startDrag(){this.dragging=!0}stopDrag(){this.dragging=!1}toJSON(){const A=this.getCostumes();return{id:this.id,name:this.getName(),isStage:this.isStage,x:this.x,y:this.y,size:this.size,direction:this.direction,draggable:this.draggable,currentCostume:this.currentCostume,costume:A[this.currentCostume],costumeCount:A.length,visible:this.visible,rotationStyle:this.rotationStyle,comments:this.comments,blocks:this.blocks._blocks,variables:this.variables,costumes:A,sounds:this.getSounds(),textToSpeechLanguage:this.textToSpeechLanguage,tempo:this.tempo,volume:this.volume,videoTransparency:this.videoTransparency,videoState:this.videoState}}dispose(){this.isOriginal||this.runtime.changeCloneCounter(-1),this.runtime.stopForTarget(this),this.runtime.removeExecutable(this),this.sprite.removeClone(this),this.renderer&&null!==this.drawableID&&(this.renderer.destroyDrawable(this.drawableID,this.isStage?n.BACKGROUND_LAYER:n.SPRITE_LAYER),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw()))}}A.exports=r},function(A,B,t){const e=t(0);A.exports=function(A){if("string"!=typeof A){if(!Array.isArray(A))return e.error("Unexpected input recieved in replaceUnsafeChars"),A;A=String(A)}return A.replace(/[<>&'"]/g,A=>{switch(A){case"<":return"<";case">":return">";case"&":return"&";case"'":return"'";case'"':return"""}})}},function(A,B,t){const e=t(67);A.exports=class extends e{constructor(A,B,t,e){let g=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;super(),this._socket=A.getScratchLinkSocket("BLE"),this._socket.setOnOpen(this.requestPeripheral.bind(this)),this._socket.setOnClose(this.handleDisconnectError.bind(this)),this._socket.setOnError(this._handleRequestError.bind(this)),this._socket.setHandleMessage(this._handleMessage.bind(this)),this._sendMessage=this._socket.sendMessage.bind(this._socket),this._availablePeripherals={},this._connectCallback=e,this._connected=!1,this._characteristicDidChangeCallback=null,this._resetCallback=g,this._discoverTimeoutID=null,this._extensionId=B,this._peripheralOptions=t,this._runtime=A,this._socket.open()}requestPeripheral(){this._availablePeripherals={},this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._discoverTimeoutID=window.setTimeout(this._handleDiscoverTimeout.bind(this),15e3),this.sendRemoteRequest("discover",this._peripheralOptions).catch(A=>{this._handleRequestError(A)})}connectPeripheral(A){this.sendRemoteRequest("connect",{peripheralId:A}).then(()=>{this._connected=!0,this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTED),this._connectCallback()}).catch(A=>{this._handleRequestError(A)})}disconnect(){this._connected&&(this._connected=!1),this._socket.isOpen()&&this._socket.close(),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_DISCONNECTED)}isConnected(){return this._connected}startNotifications(A,B){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const e={serviceId:A,characteristicId:B};return this._characteristicDidChangeCallback=t,this.sendRemoteRequest("startNotifications",e).catch(A=>{this.handleDisconnectError(A)})}read(A,B){let t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const e={serviceId:A,characteristicId:B};return arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(e.startNotifications=!0),t&&(this._characteristicDidChangeCallback=t),this.sendRemoteRequest("read",e).catch(A=>{this.handleDisconnectError(A)})}write(A,B,t){let e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,g=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const i={serviceId:A,characteristicId:B,message:t};return e&&(i.encoding=e),null!==g&&(i.withResponse=g),this.sendRemoteRequest("write",i).catch(A=>{this.handleDisconnectError(A)})}didReceiveCall(A,B){switch(A){case"didDiscoverPeripheral":this._availablePeripherals[B.peripheralId]=B,this._runtime.emit(this._runtime.constructor.PERIPHERAL_LIST_UPDATE,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidPickPeripheral":this._availablePeripherals[B.peripheralId]=B,this._runtime.emit(this._runtime.constructor.USER_PICKED_PERIPHERAL,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidNotPickPeripheral":this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"characteristicDidChange":this._characteristicDidChangeCallback&&this._characteristicDidChangeCallback(B.message);break;case"ping":return 42}}handleDisconnectError(){this._connected&&(this.disconnect(),this._resetCallback&&this._resetCallback(),this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTION_LOST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId}))}_handleRequestError(){this._runtime.emit(this._runtime.constructor.PERIPHERAL_REQUEST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId})}_handleDiscoverTimeout(){this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT)}}},function(A,B,t){const e=t(0),g=[];class i{constructor(A){this.isLoop=!1,this.warpMode=A,this.justReported=null,this.reporting="",this.reported=null,this.waitingReporter=null,this.params=null,this.executionContext=null}reset(){return this.isLoop=!1,this.warpMode=!1,this.justReported=null,this.reported=null,this.waitingReporter=null,this.params=null,this.executionContext=null,this}reuse(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.warpMode;return this.reset(),this.warpMode=Boolean(A),this}static create(A){const B=g.pop();return void 0!==B?(B.warpMode=Boolean(A),B):new i(A)}static release(A){void 0!==A&&g.push(A.reset())}}class Q{constructor(A){this.topBlock=A,this.stack=[],this.stackFrames=[],this.status=0,this.isKilled=!1,this.target=null,this.blockContainer=null,this.requestScriptGlowInFrame=!1,this.blockGlowInFrame=null,this.warpTimer=null,this.justReported=null,this.triedToCompile=!1,this.isCompiled=!1,this.timer=null,this.generator=null,this.procedures=null}static get STATUS_RUNNING(){return 0}static get STATUS_PROMISE_WAIT(){return 1}static get STATUS_YIELD(){return 2}static get STATUS_YIELD_TICK(){return 3}static get STATUS_DONE(){return 4}static getIdFromTargetAndBlock(A,B){return"".concat(A.id,"&").concat(B)}getId(){return Q.getIdFromTargetAndBlock(this.target,this.topBlock)}pushStack(A){if(this.stack.push(A),this.stack.length>this.stackFrames.length){const A=this.stackFrames[this.stackFrames.length-1];this.stackFrames.push(i.create(void 0!==A&&A.warpMode))}}reuseStackForNextBlock(A){this.stack[this.stack.length-1]=A,this.stackFrames[this.stackFrames.length-1].reuse()}popStack(){return i.release(this.stackFrames.pop()),this.stack.pop()}stopThisScript(){let A=this.peekStack();for(;null!==A;){const B=this.target.blocks.getBlock(A);if(void 0!==B&&"procedures_call"===B.opcode)break;this.popStack(),A=this.peekStack()}0===this.stack.length&&(this.requestScriptGlowInFrame=!1,this.status=Q.STATUS_DONE)}peekStack(){return this.stack.length>0?this.stack[this.stack.length-1]:null}peekStackFrame(){return this.stackFrames.length>0?this.stackFrames[this.stackFrames.length-1]:null}peekParentStackFrame(){return this.stackFrames.length>1?this.stackFrames[this.stackFrames.length-2]:null}pushReportedValue(A){this.justReported=void 0===A?null:A}initParams(){const A=this.peekStackFrame();null===A.params&&(A.params={})}pushParam(A,B){this.peekStackFrame().params[A]=B}getParam(A){for(let B=this.stackFrames.length-1;B>=0;B--){const t=this.stackFrames[B];if(null!==t.params)return t.params.hasOwnProperty(A)?t.params[A]:null}return null}getAllparams(){return this.peekStackFrame().params}atStackTop(){return this.peekStack()===this.topBlock}goToNextBlock(){const A=this.target.blocks.getNextBlock(this.peekStack());this.reuseStackForNextBlock(A)}isRecursiveCall(A){let B=5;for(let t=this.stack.length-1-1;t>=0;t--){const e=this.target.blocks.getBlock(this.stack[t]);if("procedures_call"===e.opcode&&e.mutation.proccode===A)return!0;if(--B<0)return!1}return!1}tryCompile(){if(!this.blockContainer)return;const A=t(207);this.triedToCompile=!0;const B=this.topBlock,g=this.blockContainer.getBlock(B)?this.blockContainer:this.target.runtime.flyoutBlocks,i=g.getCachedCompileResult(B);if(i&&!i.success)return;let Q;if(i)Q=i.value;else try{Q=A(this),g.cacheCompileResult(B,Q)}catch(A){return e.error("cannot compile script",this.target.getName(),A),g.cacheCompileError(B,A),void this.target.runtime.emitCompileError(this.target,A)}this.procedures={};for(const A of Object.keys(Q.procedures))this.procedures[A]=Q.procedures[A](this);this.generator=Q.startingFunction(this)(),this.blockContainer.forceNoGlow||(this.blockGlowInFrame=this.topBlock,this.requestScriptGlowInFrame=!0),this.isCompiled=!0}}A.exports=Q},function(A,B,t){const e=t(7),g=t(0),i=t(77),{loadSvgString:Q,serializeSvgToString:s}=t(52),{parseVectorMetadata:n}=t(88),r=function(A,B,t,e){return new Promise(g=>{let i=A.asset.decodeText();if(void 0===t){const B=n(i);B&&(t=B,A.rotationCenterX=t[0],A.rotationCenterY=t[1])}if(e&&2===e){const t=s(Q(i,!0));if(i!==t){i=t;const e=B.storage;A.asset.encodeTextData(t,e.DataFormat.SVG,!0),A.assetId=A.asset.assetId,A.md5="".concat(A.assetId,".").concat(A.dataFormat)}}A.skinId=B.renderer.createSVGSkin(i,t),A.size=B.renderer.getSkinSize(A.skinId),t||(t=B.renderer.getSkinRotationCenter(A.skinId),A.rotationCenterX=t[0],A.rotationCenterY=t[1],A.bitmapResolution=1),B.isPackaged&&(A.asset=null),g(A)})},c=new class{constructor(){this.pool=[],this.clearSoon=null}clear(){this.clearSoon||(this.clearSoon=new Promise(A=>setTimeout(A,1e3)).then(()=>{this.pool.length=0,this.clearSoon=null}))}create(){return this.pool.pop()||document.createElement("canvas")}release(A){this.clear(),this.pool.push(A)}},E=A=>new Promise((B,t)=>{const e=new Image;e.onload=function(){B(e),e.onload=null,e.onerror=null},e.onerror=function(){t(new Error("Costume load failed. Asset could not be read.")),e.onload=null,e.onerror=null},e.src=A}),o=new i(async A=>{let B;for(let t=0;t<3;t++)try{if("function"==typeof createImageBitmap){const B=await createImageBitmap(new Blob([A.data.buffer],{type:A.assetType.contentType}));if(!B)throw new Error("createImageBitmap resolved with ".concat(B));return B}return await E(A.encodeDataURI())}catch(A){B||(B=A),g.warn(A),await new Promise(A=>setTimeout(A,2e3*Math.random()))}throw B},25),w=function(A,B,t){return function(A,B,t){return A&&A.asset?B.v2BitmapAdapter?Promise.all([A.asset,A.textLayerAsset].map(A=>A?o.do(A):null)).then(e=>{let[g,i]=e;if(!g)throw new Error("Loading bitmap costume base failed.");const Q=1===A.bitmapResolution?2:1;let s,n;if(i){n=c.create(),n.width=g.width,n.height=g.height;const A=n.getContext("2d");A.drawImage(g,0,0),A.drawImage(i,0,0),s=n}else s=g;return 1!==Q&&(s=B.v2BitmapAdapter.resize(s,s.width*Q,s.height*Q),n&&c.release(n)),s.reusable=!1,t&&(t[0]=t[0]*Q,t[1]=t[1]*Q,A.rotationCenterX=t[0],A.rotationCenterY=t[1]),A.bitmapResolution=2,delete A.textLayerMD5,delete A.textLayerAsset,{image:s,rotationCenter:t,assetMatchesBase:1===Q&&!i}}).finally(()=>{delete A.textLayerMD5,delete A.textLayerAsset}):Promise.reject("No V2 Bitmap adapter present."):Promise.reject("Costume load failed. Assets were missing.")}(A,B,t).then(t=>(t.assetMatchesBase||function(t){if(!B.v2BitmapAdapter)return Promise.reject("No V2 Bitmap adapter present.");const e=B.storage;A.asset=e.createAsset(e.AssetType.ImageBitmap,e.DataFormat.PNG,B.v2BitmapAdapter.convertDataURIToBinary(t),null,!0),A.dataFormat=e.DataFormat.PNG,A.assetId=A.asset.assetId,A.md5="".concat(A.assetId,".").concat(A.dataFormat)}((A=>{if(A instanceof HTMLCanvasElement)return A.toDataURL();const B=c.create();B.width=A.width,B.height=A.height;B.getContext("2d").drawImage(A,0,0);const t=B.toDataURL();return c.release(B),t})(t.image)),t)).then(t=>{let e,{image:g,rotationCenter:i}=t;i&&(e=[i[0]/2,i[1]/2]),A.skinId=B.renderer.createBitmapSkin(g,A.bitmapResolution,e);const Q=B.renderer.getSkinSize(A.skinId);return A.size=[2*Q[0],2*Q[1]],i||(i=B.renderer.getSkinRotationCenter(A.skinId),A.rotationCenterX=2*i[0],A.rotationCenterY=2*i[1],A.bitmapResolution=2),B.isPackaged&&(A.asset=null),A})},C=function(A,B){const t=A.asset,e=A.assetId,g=A.rotationCenterX,i=A.rotationCenterY,Q=A.bitmapResolution,s=A.dataFormat,n=B.storage.AssetType,c=A.dataFormat===n.ImageVector.runtimeFormat;A.assetId=c?B.storage.defaultAssetId.ImageVector:B.storage.defaultAssetId.ImageBitmap,A.asset=B.storage.get(A.assetId),A.md5="".concat(A.assetId,".").concat(A.asset.dataFormat);return(c?r(A,B):w(A,B)).then(A=>(A.broken={},A.broken.assetId=e,A.broken.md5="".concat(e,".").concat(s),A.broken.asset=t,A.broken.dataFormat=s,A.broken.rotationCenterX=g,A.broken.rotationCenterY=i,A.broken.bitmapResolution=Q,A))},a=function(A,B,t){A.assetId=A.asset.assetId;if(!B.renderer)return g.warn("No rendering module present; cannot load costume: ",A.name),Promise.resolve(A);const e=B.storage.AssetType;let i;return"number"!=typeof A.rotationCenterX||isNaN(A.rotationCenterX)||"number"!=typeof A.rotationCenterY||isNaN(A.rotationCenterY)||(i=[A.rotationCenterX,A.rotationCenterY]),A.asset.assetType.runtimeFormat===e.ImageVector.runtimeFormat?r(A,B,i,t).catch(t=>(g.warn("Error loading vector image: ".concat(t)),C(A,B))):w(A,B,i).catch(t=>(g.warn("Error loading bitmap image: ".concat(t)),C(A,B)))};A.exports={loadCostume:function(A,B,t,i){const Q=e.splitFirst(A,"."),s=Q[0],n=Q[1].toLowerCase();if(B.dataFormat=n,B.asset)return a(B,t,i);if(!t.storage)return g.warn("No storage module present; cannot load costume asset: ",A),Promise.resolve(B);if(!t.storage.defaultAssetId)return g.warn("No default assets found"),Promise.resolve(B);const r=t.storage.AssetType,c="svg"===n?r.ImageVector:r.ImageBitmap,E=t.storage.load(c,s,n);let o;return o=B.textLayerMD5?t.storage.load(r.ImageBitmap,B.textLayerMD5,"png"):Promise.resolve(null),Promise.all([E,o]).then(A=>A[0]?(B.asset=A[0],A[1]&&(B.textLayerAsset=A[1]),a(B,t,i)):C(B,t)).catch(A=>(g.warn("Error loading costume: ",A),C(B,t)))},loadCostumeFromAsset:a}},function(A,B,t){const e=t(7),g=t(0),i=function(A,B,t,e){return A.assetId=B.assetId,t.audioEngine?t.audioEngine.decodeSoundPlayer(Object.assign({},A,{data:B.data})).then(B=>{A.soundId=B.id;const g=B.buffer;return A.rate=g.sampleRate,A.sampleCount=g.length,null!==e&&e.addSoundPlayer(B),t.isPackaged&&(A.asset=null),A}):(g.warn("No audio engine present; cannot load sound asset: ",A.md5),Promise.resolve(A))},Q=function(A,B,t){const e=A.asset,g=A.assetId,Q=A.sampleCount,s=A.rate,n=A.format,r=A.dataFormat;return A.assetId=B.storage.defaultAssetId.Sound,A.asset=B.storage.get(A.assetId),A.md5="".concat(A.assetId,".").concat(A.asset.dataFormat),i(A,A.asset,B,t).then(A=>(A.broken={},A.broken.assetId=g,A.broken.md5="".concat(g,".").concat(r),A.broken.asset=e,A.broken.sampleCount=Q,A.broken.rate=s,A.broken.format=n,A.broken.dataFormat=r,A))};A.exports={loadSound:function(A,B,t){if(!B.storage)return g.warn("No storage module present; cannot load sound asset: ",A.md5),Promise.resolve(A);const s=e.splitFirst(A.md5,"."),n=s[0],r=s[1].toLowerCase();return A.dataFormat=r,(A.asset&&Promise.resolve(A.asset)||B.storage.load(B.storage.AssetType.Sound,n,r)).then(e=>(A.asset=e,e?i(A,e,B,t):(g.warn("Failed to find sound data: ",A.md5),Q(A,B,t)))).catch(e=>(g.warn("Failed to load sound: ".concat(A.md5," with error: ").concat(e)),Q(A,B,t)))},loadSoundFromAsset:i}},function(A,B,t){const e=t(16),g=t(90),i=t(9),Q=t(42),s=t(40),n=t(14),r=t(0),c=t(6),E=t(4),o=t(7),w=t(66),C=t(267),{loadCostume:a}=t(31),{loadSound:I}=t(32),{deserializeCostume:Y,deserializeSound:h}=t(91),M=Object.prototype.hasOwnProperty,F=["argument","colour","control","data","event","looks","math","motion","operator","procedures","sensing","sound"],D=12,u=13,l={math_number:[4,"NUM"],math_positive_number:[5,"NUM"],math_whole_number:[6,"NUM"],math_integer:[7,"NUM"],math_angle:[8,"NUM"],colour_picker:[9,"COLOUR"],text:[10,"TEXT"],event_broadcast_menu:[11,"BROADCAST_OPTION"],data_variable:[D,"VARIABLE"],data_listcontents:[u,"LIST"]},d=function(A){const B=function(A){if(M.call(l,A.opcode)){const B=l[A.opcode],t=B[0],e=B[1],g=A.fields[e],i=[t,g.value];return"event_broadcast_menu"===A.opcode?i.push(g.id):"data_variable"!==A.opcode&&"data_listcontents"!==A.opcode||(i.push(g.id),A.topLevel&&(i.push(A.x?Math.round(A.x):0),i.push(A.y?Math.round(A.y):0))),i}return null}(A);if(B)return B;const t=Object.create(null);return t.opcode=A.opcode,t.next=A.next,t.parent=A.parent,t.inputs=function(A){const B=Object.create(null);for(const t in A)M.call(A,t)&&(A[t].block===A[t].shadow?B[t]=[1,A[t].block]:null===A[t].shadow?B[t]=[2,A[t].block]:B[t]=[3,A[t].block,A[t].shadow]);return B}(A.inputs),t.fields=function(A){const B=Object.create(null);for(const t in A)M.call(A,t)&&(B[t]=[A[t].value],A[t].hasOwnProperty("id")&&B[t].push(A[t].id));return B}(A.fields),t.shadow=A.shadow,A.topLevel?(t.topLevel=!0,t.x=A.x?Math.round(A.x):0,t.y=A.y?Math.round(A.y):0):t.topLevel=!1,A.mutation&&(t.mutation=A.mutation),A.comment&&(t.comment=A.comment),t},U=function(A,B){const t=A.inputs;for(const A in t){const e=t[A];for(let A=1;A"number"==typeof A||"string"==typeof A||"boolean"==typeof A,R=A=>{if(Array.isArray(A)){let B=null;for(let t=0;t=A.costumes.length)&&(r.warn("currentCostume property for target ".concat(A.name," is out of range")),A.currentCostume=E.clamp(A.currentCostume,0,A.costumes.length-1)),t.currentCostume=A.currentCostume,t.costumes=A.costumes.map(G),t.sounds=A.sounds.map(f),A.hasOwnProperty("volume")&&(t.volume=A.volume),A.hasOwnProperty("layerOrder")&&(t.layerOrder=A.layerOrder),t.isStage?(A.hasOwnProperty("tempo")&&(t.tempo=A.tempo),A.hasOwnProperty("videoTransparency")&&(t.videoTransparency=A.videoTransparency),A.hasOwnProperty("videoState")&&(t.videoState=A.videoState),A.hasOwnProperty("textToSpeechLanguage")&&(t.textToSpeechLanguage=A.textToSpeechLanguage)):(t.visible=A.visible,t.x=A.x,t.y=A.y,t.size=A.size,t.direction=A.direction,t.draggable=A.draggable,t.rotationStyle=A.rotationStyle),e.forEach(A=>{B.add(A)}),t},y=function(A){const B=A.map(A=>A.getLayerOrder());return E.reducedSortOrdering(B)},J=function(A,B){const t=(B.stageWidth-480)/2,e=(B.stageHeight-360)/2;return A.valueSeq().filter(A=>!N(A.opcode)||A.visible).map(A=>{const B={id:A.id,mode:A.mode,opcode:A.opcode,params:A.params,spriteName:A.spriteName,value:Array.isArray(A.value)?[]:0,width:A.width,height:A.height,x:A.x-t,y:A.y-e,visible:A.visible};return"list"!==A.mode&&(B.sliderMin=A.sliderMin,B.sliderMax=A.sliderMax,B.isDiscrete=A.isDiscrete),B})},k=function(A,B,t,e){if(!Array.isArray(A))return A;const g=Object.create(null),Q=c();switch(g.id=Q,g.next=null,g.parent=B,g.shadow=t,g.inputs=Object.create(null),A[0]){case 4:g.opcode="math_number",g.fields={NUM:{name:"NUM",value:A[1]}},g.topLevel=!1;break;case 5:g.opcode="math_positive_number",g.fields={NUM:{name:"NUM",value:A[1]}},g.topLevel=!1;break;case 6:g.opcode="math_whole_number",g.fields={NUM:{name:"NUM",value:A[1]}},g.topLevel=!1;break;case 7:g.opcode="math_integer",g.fields={NUM:{name:"NUM",value:A[1]}},g.topLevel=!1;break;case 8:g.opcode="math_angle",g.fields={NUM:{name:"NUM",value:A[1]}},g.topLevel=!1;break;case 9:g.opcode="colour_picker",g.fields={COLOUR:{name:"COLOUR",value:A[1]}},g.topLevel=!1;break;case 10:g.opcode="text",g.fields={TEXT:{name:"TEXT",value:A[1]}},g.topLevel=!1;break;case 11:g.opcode="event_broadcast_menu",g.fields={BROADCAST_OPTION:{name:"BROADCAST_OPTION",value:A[1],id:A[2],variableType:i.BROADCAST_MESSAGE_TYPE}},g.topLevel=!1;break;case D:g.opcode="data_variable",g.fields={VARIABLE:{name:"VARIABLE",value:A[1],id:A[2],variableType:i.SCALAR_TYPE}},A.length>3&&(g.topLevel=!0,g.x=A[3],g.y=A[4]);break;case u:g.opcode="data_listcontents",g.fields={LIST:{name:"LIST",value:A[1],id:A[2],variableType:i.LIST_TYPE}},A.length>3&&(g.topLevel=!0,g.x=A[3],g.y=A[4]);break;default:return r.error("Found unknown primitive type during deserialization: ".concat(JSON.stringify(A))),null}return e[Q]=g,Q},T=function(A,B,t){const e={};for(const g in A){if(!M.call(A,g))continue;const i=A[g];if(!Array.isArray(i))continue;let Q=null,s=null;const n=i[0];1===n?Q=s=k(i[1],B,!0,t):2===n?Q=k(i[1],B,!1,t):(Q=k(i[1],B,!1,t),s=k(i[2],B,!0,t)),e[g]={name:g,block:Q,shadow:s}}return e},j=function(A){const B={};for(const t in A){if(!M.call(A,t))continue;const e=A[t];Array.isArray(e)&&(B[t]={name:t,value:e[0]},e.length>1&&(B[t].id=e[1]),"BROADCAST_OPTION"===t?B[t].variableType=i.BROADCAST_MESSAGE_TYPE:"VARIABLE"===t?B[t].variableType=i.SCALAR_TYPE:"LIST"===t&&(B[t].variableType=i.LIST_TYPE))}return B},x=function(A){for(const B in A){if(!Object.prototype.hasOwnProperty.call(A,B))continue;const t=A[B];Array.isArray(t)?(delete A[B],k(t,null,!1,A)):(t.id=B,t.inputs=T(t.inputs,B,A),t.fields=j(t.fields))}return A};A.exports={serialize:function(A,B){let{allowOptimization:t=!0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const e=Object.create(null),g=new Set,i=B?[A.getTargetById(B)]:A.targets.filter(A=>A.isOriginal),Q=y(i),s=i.map(A=>A.toJSON());A.renderer&&!B&&s.forEach((A,B)=>{A.layerOrder=Q[B]});const n=s.map(A=>p(A,g));if(B)return n[0];if(e.targets=n,e.monitors=J(A.getMonitorState(),A),e.extensions=Array.from(g),A.extensionManager){const B=A.extensionManager.getExtensionURLs(),t={};for(const A of g){const e=B[A];"string"==typeof e&&(t[A]=e)}0!==Object.keys(t).length&&(e.extensionURLs=t)}const r=Object.create(null);return r.semver="3.0.0",r.vm="0.2.0",A.origin&&(r.origin=A.origin),r.agent="",e.meta=r,t&&C(e),e},deserialize:function(A,B,t,c){const C={extensionIDs:new Set,extensionURLs:new Map};A.meta&&A.meta.origin?B.origin=A.meta.origin:B.origin=null,A.extensionURLs&&(C.extensionURLs=new Map(Object.entries(A.extensionURLs)));const M=((c?[A]:A.targets)||[]).map((A,B)=>Object.assign(A,{targetPaneOrder:B})).sort((A,B)=>A.layerOrder-B.layerOrder),F=A.monitors||[];return Promise.resolve(M.map(A=>function(A,B,t){if(!A.hasOwnProperty("name"))return Promise.resolve(null);const e={costumePromises:null,soundPromises:null,soundBank:B.audioEngine&&B.audioEngine.createBank()};return e.costumePromises=(A.costumes||[]).map(A=>{const e={asset:A.asset,assetId:A.assetId,skinId:null,name:A.name,bitmapResolution:A.bitmapResolution,rotationCenterX:A.rotationCenterX,rotationCenterY:A.rotationCenterY},g=A.dataFormat||A.assetType&&A.assetType.runtimeFormat||"png",i=A.hasOwnProperty("md5ext")?A.md5ext:"".concat(A.assetId,".").concat(g);return e.md5=i,e.dataFormat=g,Y(e,B,t).then(()=>a(i,e,B))}),e.soundPromises=(A.sounds||[]).map(A=>{const g={assetId:A.assetId,format:A.format,rate:A.rate,sampleCount:A.sampleCount,name:A.name,md5:A.md5ext,dataFormat:A.dataFormat,data:null};return h(g,B,t).then(()=>I(g,B,e.soundBank))}),e}(A,B,t))).then(A=>Promise.resolve(A)).then(A=>Promise.all(M.map((t,s)=>function(A,B,t,s,r){if(!A.hasOwnProperty("name"))return Promise.resolve(null);const c=new e(B),o=new g(c,B);if(A.hasOwnProperty("name")&&(o.name=A.name),A.hasOwnProperty("blocks")){x(A.blocks);for(const B in A.blocks){if(!A.blocks.hasOwnProperty(B))continue;const e=A.blocks[B];c.createBlock(e);const g=N(e.opcode);g&&t.extensionIDs.add(g)}}const{costumePromises:w}=r,{soundBank:C,soundPromises:a}=r,I=o.createClone(A.isStage?n.BACKGROUND_LAYER:n.SPRITE_LAYER);if(A.hasOwnProperty("tempo")&&(I.tempo=A.tempo),A.hasOwnProperty("volume")&&(I.volume=A.volume),A.hasOwnProperty("videoTransparency")&&(I.videoTransparency=A.videoTransparency),A.hasOwnProperty("videoState")&&(I.videoState=A.videoState),A.hasOwnProperty("textToSpeechLanguage")&&(I.textToSpeechLanguage=A.textToSpeechLanguage),A.hasOwnProperty("variables"))for(const t in A.variables){const e=A.variables[t],g=3===e.length&&e[2]&&A.isStage&&B.canAddCloudVariable(),Q=new i(t,e[0],i.SCALAR_TYPE,g);g&&B.addCloudVariable(),Q.value=e[1],I.variables[Q.id]=Q}if(A.hasOwnProperty("lists"))for(const B in A.lists){const t=A.lists[B],e=new i(B,t[0],i.LIST_TYPE,!1);e.value=t[1],I.variables[e.id]=e}if(A.hasOwnProperty("broadcasts"))for(const B in A.broadcasts){const t=A.broadcasts[B],e=new i(B,t,i.BROADCAST_MESSAGE_TYPE,!1);I.variables[e.id]=e}if(A.hasOwnProperty("comments"))for(const B in A.comments){const t=A.comments[B],e=new Q(B,t.text,t.x,t.y,t.width,t.height,t.minimized);t.blockId&&(e.blockId=t.blockId),I.comments[e.id]=e}return A.hasOwnProperty("x")&&(I.x=A.x),A.hasOwnProperty("y")&&(I.y=A.y),A.hasOwnProperty("direction")&&(I.direction=A.direction),A.hasOwnProperty("size")&&(I.size=A.size),A.hasOwnProperty("visible")&&(I.visible=A.visible),A.hasOwnProperty("currentCostume")&&(I.currentCostume=E.clamp(A.currentCostume,0,A.costumes.length-1)),A.hasOwnProperty("rotationStyle")&&(I.rotationStyle=A.rotationStyle),A.hasOwnProperty("isStage")&&(I.isStage=A.isStage),A.hasOwnProperty("targetPaneOrder")&&(I.targetPaneOrder=A.targetPaneOrder),A.hasOwnProperty("draggable")&&(I.draggable=A.draggable),Promise.all(w).then(A=>{o.costumes=A}),Promise.all(a).then(A=>{o.sounds=A,o.soundBank=C||null}),Promise.all(w.concat(a)).then(()=>I)}(t,B,C,0,A[s])))).then(A=>A.map((A,B)=>(A.layerOrder=B,A)).sort((A,B)=>A.targetPaneOrder-B.targetPaneOrder).map(A=>(delete A.targetPaneOrder,A))).then(A=>function(A){const B=w.getAllVarRefsForTargets(A,!0);A.forEach(A=>{Object.keys(A.variables).forEach(B=>{const t=o.replaceUnsafeChars(B);t!==B&&(A.variables[B].id=t,A.variables[t]=A.variables[B],delete A.variables[B])})});for(const A in B){const t=o.replaceUnsafeChars(A);A!==t&&w.updateVariableIdentifiers(B[A],t)}return A}(A)).then(A=>(F.map(t=>function(A,B,t,e){const g=(B.stageWidth-480)/2,Q=(B.stageHeight-360)/2;if(A.x+=g,A.y+=Q,A.x=E.clamp(A.x,0,B.stageWidth),A.y=E.clamp(A.y,0,B.stageHeight),A.spriteName){const B=t.filter(B=>B.sprite.name===A.spriteName);B&&B.length>0?A.targetId=B[0].id:r.warn("Tried to deserialize sprite specific monitor ".concat(A.opcode," but could not find sprite ").concat(A.spriteName,"."))}const n=B.monitorBlockInfo[A.opcode];if("data_listcontents"===A.opcode){const B=A.targetId?t.find(B=>B.id===A.targetId):t.find(A=>A.isStage);B&&Object.prototype.hasOwnProperty.call(B.variables,A.id)&&(A.params.LIST=B.variables[A.id].name)}const c={};for(const B in A.params){const t={name:B,value:A.params[B]};c[B]=t}"data_variable"!==A.opcode&&"data_listcontents"!==A.opcode&&n&&n.isSpriteSpecific?A.id=n.getId(A.targetId,c):A.id=o.replaceUnsafeChars(A.id);const w=B.monitorBlocks._blocks[A.id];if(w)w.isMonitored=A.visible,w.targetId=A.targetId;else{const t={id:A.id,opcode:A.opcode,inputs:{},fields:c,topLevel:!0,next:null,parent:null,shadow:!1,x:0,y:0,isMonitored:A.visible,targetId:A.targetId};if("data_variable"===A.opcode){const B=t.fields.VARIABLE;B.id=A.id,B.variableType=i.SCALAR_TYPE}else if("data_listcontents"===A.opcode){const B=t.fields.LIST;B.id=A.id,B.variableType=i.LIST_TYPE}B.monitorBlocks.createBlock(t);const g=N(t.opcode);g&&e.extensionIDs.add(g)}B.requestAddMonitor(s(A))}(t,B,A,C)),A)).then(A=>({targets:A,extensions:C}))},deserializeBlocks:x,serializeBlocks:m,getExtensionIdForOpcode:N}},function(A,B,t){const e=t(10),g=t(35),i=t(276);A.exports=class{constructor(A,B){this._renderer=B,this._id=A,this._rotationCenter=e.v3.create(0,0),this._texture=null,this._uniforms={u_skinSize:[0,0],u_skin:null},this._silhouette=new i,this.private=!1}dispose(){this._id=g.ID_NONE}get id(){return this._id}get rotationCenter(){return this._rotationCenter}get size(){return[0,0]}useNearest(A,B){return!0}calculateRotationCenter(){return[this.size[0]/2,this.size[1]/2]}getTexture(A){return this._emptyImageTexture}getFenceBounds(A,B){return A.getAABB(B)}getUniforms(A){return this._uniforms.u_skin=this.getTexture(A),this._uniforms.u_skinSize=this.size,this._uniforms}emitWasAltered(){this._renderer.skinWasAltered(this)}updateSilhouette(){this._silhouette.unlazy()}_setTexture(A){const B=this._renderer.gl;B.bindTexture(B.TEXTURE_2D,this._texture),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,A),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),this._silhouette.update(A)}setEmptyImageData(){if(this._texture=null,!this._emptyImageData){this._emptyImageData=new ImageData(1,1);const A=this._renderer.gl,B={auto:!0,wrap:A.CLAMP_TO_EDGE,src:this._emptyImageData};this._emptyImageTexture=e.createTexture(A,B)}this._rotationCenter[0]=0,this._rotationCenter[1]=0,this._silhouette.update(this._emptyImageData),this.emitWasAltered()}isTouchingNearest(A){return this._silhouette.isTouchingNearest(A)}isTouchingLinear(A){return this._silhouette.isTouchingLinear(A)}}},function(A,B){A.exports={ID_NONE:-1,Events:{UseHighQualityRenderChanged:"UseHighQualityRenderChanged",AllowPrivateSkinAccessChanged:"AllowPrivateSkinAccessChanged",NativeSizeChanged:"NativeSizeChanged"}}},function(A,B,t){const e=t(22);e.enable(),A.exports=e("scratch-audioengine")},function(A,B,t){"use strict";(function(A){!function(A){function B(){}function t(){}var e=String.fromCharCode,g={}.toString,i=g.call(A.SharedArrayBuffer),Q=g(),s=A.Uint8Array,n=s||Array,r=s?ArrayBuffer:n,c=r.isView||function(A){return A&&"length"in A},E=g.call(r.prototype);r=t.prototype;var o=A.TextEncoder,w=new(s?Uint16Array:n)(32);B.prototype.decode=function(A){if(!c(A)){var B=g.call(A);if(B!==E&&B!==i&&B!==Q)throw TypeError("Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'");A=s?new n(A):A||[]}for(var t,r,o,C=B="",a=0,I=0|A.length,Y=I-32|0,h=0,M=0,F=0,D=-1;a>4){case 15:if(2!=(o=255&A[a=a+1|0])>>6||247>6?M+4|0:24,r=r+256&768;case 13:case 12:h<<=6,h|=(31&r)<<6|63&(o=255&A[a=a+1|0]),M=M+7|0,a>6&&h>>M&&1114112>h?(r=h,0<=(h=h-65536|0)&&(D=55296+(h>>10)|0,r=56320+(1023&h)|0,31>F?(w[F]=D,F=F+1|0,D=-1):(o=D,D=r,r=o))):(a=a-(r>>=8)-1|0,r=65533),h=M=0,t=a<=Y?32:I-a|0;default:w[F]=r;continue;case 11:case 10:case 9:case 8:}w[F]=65533}if(C+=e(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9],w[10],w[11],w[12],w[13],w[14],w[15],w[16],w[17],w[18],w[19],w[20],w[21],w[22],w[23],w[24],w[25],w[26],w[27],w[28],w[29],w[30],w[31]),32>F&&(C=C.slice(0,F-32|0)),a>>31,D=-1,C.length=Q)e[g]=Q;else{if(2047>=Q)e[g]=192|Q>>6;else{A:{if(55296<=Q)if(56319>=Q){var r=0|A.charCodeAt(B=B+1|0);if(56320<=r&&57343>=r){if(65535<(Q=(Q<<10)+r-56613888|0)){e[g]=240|Q>>18,e[g=g+1|0]=128|Q>>12&63,e[g=g+1|0]=128|Q>>6&63,e[g=g+1|0]=128|63&Q;continue}break A}Q=65533}else 57343>=Q&&(Q=65533);!i&&B<<1>12,e[g=g+1|0]=128|Q>>6&63}e[g=g+1|0]=128|63&Q}}return s?e.subarray(0,g):e.slice(0,g)},o||(A.TextDecoder=B,A.TextEncoder=t)}(""+void 0==typeof A?""+void 0==typeof self?this:self:A)}).call(this,t(8))},function(A,B){var t,e,g=A.exports={};function i(){throw new Error("setTimeout has not been defined")}function Q(){throw new Error("clearTimeout has not been defined")}function s(A){if(t===setTimeout)return setTimeout(A,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(A,0);try{return t(A,0)}catch(B){try{return t.call(null,A,0)}catch(B){return t.call(this,A,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(A){t=i}try{e="function"==typeof clearTimeout?clearTimeout:Q}catch(A){e=Q}}();var n,r=[],c=!1,E=-1;function o(){c&&n&&(c=!1,n.length?r=n.concat(r):E=-1,r.length&&w())}function w(){if(!c){var A=s(o);c=!0;for(var B=r.length;B;){for(n=r,r=[];++E1)for(var t=1;t').concat(g(this.text),"")}static get MIN_WIDTH(){return 20}static get MIN_HEIGHT(){return 20}static get DEFAULT_WIDTH(){return 100}static get DEFAULT_HEIGHT(){return 100}}A.exports=i},function(A,B,t){const e=t(15);A.exports=class{constructor(A){this._maxTokens=A,this._refillInterval=1e3/A,this._count=this._maxTokens,this._timer=new e,this._timer.start(),this._lastUpdateTime=this._timer.timeElapsed()}okayToSend(){const A=this._timer.timeElapsed(),B=A-this._lastUpdateTime,t=Math.floor(B/this._refillInterval);return t>0&&(this._lastUpdateTime=A),this._count=Math.min(this._maxTokens,this._count+t),this._count>0&&(this._count--,!0)}}},function(A,B,t){ +/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.2.2/LICENSE */ +A.exports=function(){"use strict";var A=Object.hasOwnProperty,B=Object.setPrototypeOf,t=Object.isFrozen,e=Object.getPrototypeOf,g=Object.getOwnPropertyDescriptor,i=Object.freeze,Q=Object.seal,s=Object.create,n="undefined"!=typeof Reflect&&Reflect,r=n.apply,c=n.construct;r||(r=function(A,B,t){return A.apply(B,t)}),i||(i=function(A){return A}),Q||(Q=function(A){return A}),c||(c=function(A,B){return new(Function.prototype.bind.apply(A,[null].concat(function(A){if(Array.isArray(A)){for(var B=0,t=Array(A.length);B1?t-1:0),g=1;g/gm),S=Q(/^data-[\-\w.\u00B7-\uFFFF]/),b=Q(/^aria-[\-\w]+$/),z=Q(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),L=Q(/^(?:\w+script|data):/i),P=Q(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A};function W(A){if(Array.isArray(A)){for(var B=0,t=Array(A.length);B0&&void 0!==arguments[0]?arguments[0]:V(),t=function(B){return A(B)};if(t.version="2.2.7",t.removed=[],!B||!B.document||9!==B.document.nodeType)return t.isSupported=!1,t;var e=B.document,g=B.document,Q=B.DocumentFragment,s=B.HTMLTemplateElement,n=B.Node,r=B.Element,c=B.NodeFilter,E=B.NamedNodeMap,u=void 0===E?B.NamedNodeMap||B.MozNamedAttrMap:E,O=B.Text,X=B.Comment,Z=B.DOMParser,_=B.trustedTypes,q=r.prototype,$=U(q,"cloneNode"),AA=U(q,"nextSibling"),BA=U(q,"childNodes"),tA=U(q,"parentNode");if("function"==typeof s){var eA=g.createElement("template");eA.content&&eA.content.ownerDocument&&(g=eA.content.ownerDocument)}var gA=K(_,e),iA=gA&&jA?gA.createHTML(""):"",QA=g,sA=QA.implementation,nA=QA.createNodeIterator,rA=QA.getElementsByTagName,cA=QA.createDocumentFragment,EA=e.importNode,oA={};try{oA=d(g).documentMode?g.documentMode:{}}catch(A){}var wA={};t.isSupported="function"==typeof tA&&sA&&void 0!==sA.createHTMLDocument&&9!==oA;var CA=j,aA=x,IA=S,YA=b,hA=L,MA=P,FA=z,DA=null,uA=l({},[].concat(W(N),W(m),W(G),W(H),W(p))),lA=null,dA=l({},[].concat(W(y),W(J),W(k),W(T))),UA=null,NA=null,mA=!0,GA=!0,fA=!1,HA=!1,RA=!1,pA=!1,yA=!1,JA=!1,kA=!1,TA=!0,jA=!1,xA=!0,SA=!0,bA=!1,zA={},LA=l({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),PA=null,vA=l({},["audio","video","img","source","image","track"]),WA=null,VA=l({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),KA=null,OA=g.createElement("form"),XA=function(A){KA&&KA===A||(A&&"object"===(void 0===A?"undefined":v(A))||(A={}),A=d(A),DA="ALLOWED_TAGS"in A?l({},A.ALLOWED_TAGS):uA,lA="ALLOWED_ATTR"in A?l({},A.ALLOWED_ATTR):dA,WA="ADD_URI_SAFE_ATTR"in A?l(d(VA),A.ADD_URI_SAFE_ATTR):VA,PA="ADD_DATA_URI_TAGS"in A?l(d(vA),A.ADD_DATA_URI_TAGS):vA,UA="FORBID_TAGS"in A?l({},A.FORBID_TAGS):{},NA="FORBID_ATTR"in A?l({},A.FORBID_ATTR):{},zA="USE_PROFILES"in A&&A.USE_PROFILES,mA=!1!==A.ALLOW_ARIA_ATTR,GA=!1!==A.ALLOW_DATA_ATTR,fA=A.ALLOW_UNKNOWN_PROTOCOLS||!1,HA=A.SAFE_FOR_TEMPLATES||!1,RA=A.WHOLE_DOCUMENT||!1,JA=A.RETURN_DOM||!1,kA=A.RETURN_DOM_FRAGMENT||!1,TA=!1!==A.RETURN_DOM_IMPORT,jA=A.RETURN_TRUSTED_TYPE||!1,yA=A.FORCE_BODY||!1,xA=!1!==A.SANITIZE_DOM,SA=!1!==A.KEEP_CONTENT,bA=A.IN_PLACE||!1,FA=A.ALLOWED_URI_REGEXP||FA,HA&&(GA=!1),kA&&(JA=!0),zA&&(DA=l({},[].concat(W(p))),lA=[],!0===zA.html&&(l(DA,N),l(lA,y)),!0===zA.svg&&(l(DA,m),l(lA,J),l(lA,T)),!0===zA.svgFilters&&(l(DA,G),l(lA,J),l(lA,T)),!0===zA.mathMl&&(l(DA,H),l(lA,k),l(lA,T))),A.ADD_TAGS&&(DA===uA&&(DA=d(DA)),l(DA,A.ADD_TAGS)),A.ADD_ATTR&&(lA===dA&&(lA=d(lA)),l(lA,A.ADD_ATTR)),A.ADD_URI_SAFE_ATTR&&l(WA,A.ADD_URI_SAFE_ATTR),SA&&(DA["#text"]=!0),RA&&l(DA,["html","head","body"]),DA.table&&(l(DA,["tbody"]),delete UA.tbody),i&&i(A),KA=A)},ZA=l({},["mi","mo","mn","ms","mtext"]),_A=l({},["foreignobject","desc","title","annotation-xml"]),qA=l({},m);l(qA,G),l(qA,f);var $A=l({},H);l($A,R);var AB="http://www.w3.org/1998/Math/MathML",BB="http://www.w3.org/2000/svg",tB="http://www.w3.org/1999/xhtml",eB=function(A){var B=tA(A);B&&B.tagName||(B={namespaceURI:tB,tagName:"template"});var t=a(A.tagName),e=a(B.tagName);if(A.namespaceURI===BB)return B.namespaceURI===tB?"svg"===t:B.namespaceURI===AB?"svg"===t&&("annotation-xml"===e||ZA[e]):Boolean(qA[t]);if(A.namespaceURI===AB)return B.namespaceURI===tB?"math"===t:B.namespaceURI===BB?"math"===t&&_A[e]:Boolean($A[t]);if(A.namespaceURI===tB){if(B.namespaceURI===BB&&!_A[e])return!1;if(B.namespaceURI===AB&&!ZA[e])return!1;var g=l({},["title","style","font","a","script"]);return!$A[t]&&(g[t]||!qA[t])}return!1},gB=function(A){C(t.removed,{element:A});try{A.parentNode.removeChild(A)}catch(B){try{A.outerHTML=iA}catch(B){A.remove()}}},iB=function(A,B){try{C(t.removed,{attribute:B.getAttributeNode(A),from:B})}catch(A){C(t.removed,{attribute:null,from:B})}if(B.removeAttribute(A),"is"===A&&!lA[A])if(JA||kA)try{gB(B)}catch(A){}else try{B.setAttribute(A,"")}catch(A){}},QB=function(A){var B=void 0,t=void 0;if(yA)A=""+A;else{var e=I(A,/^[\r\n\t ]+/);t=e&&e[0]}var i=gA?gA.createHTML(A):A;try{B=(new Z).parseFromString(i,"text/html")}catch(A){}if(!B||!B.documentElement){var Q=(B=sA.createHTMLDocument("")).body;Q.parentNode.removeChild(Q.parentNode.firstElementChild),Q.outerHTML=i}return A&&t&&B.body.insertBefore(g.createTextNode(t),B.body.childNodes[0]||null),rA.call(B,RA?"html":"body")[0]},sB=function(A){return nA.call(A.ownerDocument||A,A,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,(function(){return c.FILTER_ACCEPT}),!1)},nB=function(A){return!(A instanceof O||A instanceof X||"string"==typeof A.nodeName&&"string"==typeof A.textContent&&"function"==typeof A.removeChild&&A.attributes instanceof u&&"function"==typeof A.removeAttribute&&"function"==typeof A.setAttribute&&"string"==typeof A.namespaceURI&&"function"==typeof A.insertBefore)},rB=function(A){return"object"===(void 0===n?"undefined":v(n))?A instanceof n:A&&"object"===(void 0===A?"undefined":v(A))&&"number"==typeof A.nodeType&&"string"==typeof A.nodeName},cB=function(A,B,e){wA[A]&&o(wA[A],(function(A){A.call(t,B,e,KA)}))},EB=function(A){var B=void 0;if(cB("beforeSanitizeElements",A,null),nB(A))return gB(A),!0;if(I(A.nodeName,/[\u0080-\uFFFF]/))return gB(A),!0;var e=a(A.nodeName);if(cB("uponSanitizeElement",A,{tagName:e,allowedTags:DA}),!rB(A.firstElementChild)&&(!rB(A.content)||!rB(A.content.firstElementChild))&&F(/<[/\w]/g,A.innerHTML)&&F(/<[/\w]/g,A.textContent))return gB(A),!0;if(!DA[e]||UA[e]){if(SA&&!LA[e]){var g=tA(A),i=BA(A);if(i&&g)for(var Q=i.length-1;Q>=0;--Q)g.insertBefore($(i[Q],!0),AA(A))}return gB(A),!0}return A instanceof r&&!eB(A)?(gB(A),!0):"noscript"!==e&&"noembed"!==e||!F(/<\/no(script|embed)/i,A.innerHTML)?(HA&&3===A.nodeType&&(B=A.textContent,B=Y(B,CA," "),B=Y(B,aA," "),A.textContent!==B&&(C(t.removed,{element:A.cloneNode()}),A.textContent=B)),cB("afterSanitizeElements",A,null),!1):(gB(A),!0)},oB=function(A,B,t){if(xA&&("id"===B||"name"===B)&&(t in g||t in OA))return!1;if(GA&&F(IA,B));else if(mA&&F(YA,B));else{if(!lA[B]||NA[B])return!1;if(WA[B]);else if(F(FA,Y(t,MA,"")));else if("src"!==B&&"xlink:href"!==B&&"href"!==B||"script"===A||0!==h(t,"data:")||!PA[A])if(fA&&!F(hA,Y(t,MA,"")));else if(t)return!1}return!0},wB=function(A){var B=void 0,e=void 0,g=void 0,i=void 0;cB("beforeSanitizeAttributes",A,null);var Q=A.attributes;if(Q){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:lA};for(i=Q.length;i--;){var n=B=Q[i],r=n.name,c=n.namespaceURI;if(e=M(B.value),g=a(r),s.attrName=g,s.attrValue=e,s.keepAttr=!0,s.forceKeepAttr=void 0,cB("uponSanitizeAttribute",A,s),e=s.attrValue,!s.forceKeepAttr&&(iB(r,A),s.keepAttr))if(F(/\/>/i,e))iB(r,A);else{HA&&(e=Y(e,CA," "),e=Y(e,aA," "));var E=A.nodeName.toLowerCase();if(oB(E,g,e))try{c?A.setAttributeNS(c,r,e):A.setAttribute(r,e),w(t.removed)}catch(A){}}}cB("afterSanitizeAttributes",A,null)}},CB=function A(B){var t=void 0,e=sB(B);for(cB("beforeSanitizeShadowDOM",B,null);t=e.nextNode();)cB("uponSanitizeShadowNode",t,null),EB(t)||(t.content instanceof Q&&A(t.content),wB(t));cB("afterSanitizeShadowDOM",B,null)};return t.sanitize=function(A,g){var i=void 0,s=void 0,r=void 0,c=void 0,E=void 0;if(A||(A="\x3c!--\x3e"),"string"!=typeof A&&!rB(A)){if("function"!=typeof A.toString)throw D("toString is not a function");if("string"!=typeof(A=A.toString()))throw D("dirty is not a string, aborting")}if(!t.isSupported){if("object"===v(B.toStaticHTML)||"function"==typeof B.toStaticHTML){if("string"==typeof A)return B.toStaticHTML(A);if(rB(A))return B.toStaticHTML(A.outerHTML)}return A}if(pA||XA(g),t.removed=[],"string"==typeof A&&(bA=!1),bA);else if(A instanceof n)1===(s=(i=QB("\x3c!----\x3e")).ownerDocument.importNode(A,!0)).nodeType&&"BODY"===s.nodeName||"HTML"===s.nodeName?i=s:i.appendChild(s);else{if(!JA&&!HA&&!RA&&-1===A.indexOf("<"))return gA&&jA?gA.createHTML(A):A;if(!(i=QB(A)))return JA?null:iA}i&&yA&&gB(i.firstChild);for(var o=sB(bA?A:i);r=o.nextNode();)3===r.nodeType&&r===c||EB(r)||(r.content instanceof Q&&CB(r.content),wB(r),c=r);if(c=null,bA)return A;if(JA){if(kA)for(E=cA.call(i.ownerDocument);i.firstChild;)E.appendChild(i.firstChild);else E=i;return TA&&(E=EA.call(e,E,!0)),E}var w=RA?i.outerHTML:i.innerHTML;return HA&&(w=Y(w,CA," "),w=Y(w,aA," ")),gA&&jA?gA.createHTML(w):w},t.setConfig=function(A){XA(A),pA=!0},t.clearConfig=function(){KA=null,pA=!1},t.isValidAttribute=function(A,B,t){KA||XA({});var e=a(A),g=a(B);return oB(e,g,t)},t.addHook=function(A,B){"function"==typeof B&&(wA[A]=wA[A]||[],C(wA[A],B))},t.removeHook=function(A){wA[A]&&w(wA[A])},t.removeHooks=function(A){wA[A]&&(wA[A]=[])},t.removeAllHooks=function(){wA={}},t}()}()},function(A,B){class t{static get svg(){return"http://www.w3.org/2000/svg"}static get xmlns(){return"http://www.w3.org/2000/xmlns"}static get xlink(){return"http://www.w3.org/1999/xlink"}static attributeNamespace(){return{href:t.xlink,xlink:t.xmlns,xmlns:"".concat(t.xmlns,"/"),"xmlns:xlink":"".concat(t.xmlns,"/")}}static create(A,B,e){return t.set(document.createElementNS(t.svg,A),B,e)}static get(A,B){const e=t.attributeNamespace[B],g=e?A.getAttributeNS(e,B):A.getAttribute(B);return"null"===g?null:g}static set(A,B,e){for(const g in B){let i=B[g];const Q=t.attributeNamespace[g];"number"==typeof i&&e&&(i=e.number(i)),Q?A.setAttributeNS(Q,g,i):A.setAttribute(g,i)}return A}}A.exports=t},function(A,B){class t{static get svg(){return"http://www.w3.org/2000/svg"}static get xmlns(){return"http://www.w3.org/2000/xmlns"}static get xlink(){return"http://www.w3.org/1999/xlink"}static attributeNamespace(){return{href:t.xlink,xlink:t.xmlns,xmlns:"".concat(t.xmlns,"/"),"xmlns:xlink":"".concat(t.xmlns,"/")}}static create(A,B,e){return t.set(document.createElementNS(t.svg,A),B,e)}static get(A,B){const e=t.attributeNamespace[B],g=e?A.getAttributeNS(e,B):A.getAttribute(B);return"null"===g?null:g}static set(A,B,e){for(const g in B){let i=B[g];const Q=t.attributeNamespace[g];"number"==typeof i&&e&&(i=e.number(i)),Q?A.setAttributeNS(Q,g,i):A.setAttribute(g,i)}return A}}A.exports=t},function(A,B,t){"undefined"!=typeof TextDecoder&&"undefined"!=typeof TextEncoder||t(37);const e=t(19);let g=null;const i={},Q={},s="function"==typeof FinalizationRegistry?new FinalizationRegistry(A=>{const B=Q[A];1===B?(delete Q[A],delete i[A]):Q[A]=B-1}):null,n=s?A=>{const B=A.assetId,t=Q[B]||0;Q[B]=t+1,s.register(A,B)}:()=>{};A.exports=class{constructor(A,B,t,e,g){this.assetType=A,this.assetId=B,this.setData(e,t||A.runtimeFormat,g),this.dependencies=[],n(this)}setData(A,B,t){if(A&&!B)throw new Error("Data provided without specifying its format");this.dataFormat=B,this.data=A,t&&(this.assetId=e(A)),this.clean=!t}decodeText(){return(new TextDecoder).decode(this.data)}encodeTextData(A,B,t){const e=new TextEncoder;this.setData(e.encode(A),B,t)}encodeDataURI(A){return A=A||this.assetType.contentType,"data:".concat(A,";base64,").concat(((A,B)=>{if(!Object.prototype.hasOwnProperty.call(i,A))if("undefined"==typeof btoa){const e=t(302);i[A]=e.fromByteArray(B)}else{if(null===g){g=new Array(256);for(let A=0;A<256;A++)g[A]=String.fromCharCode(A)}const{length:t}=B;let e="";for(let A=0,i=0;A{if(A)return A===this||B(A.target)};if(B(A))throw new Error("Effect cannot connect to itself");this.target=A,null!==this.outputNode&&this.outputNode.disconnect(),(this._isPatch||this._lastPatch+this.audioEngine.DECAY_DURATION * {\n position: absolute;\n}\n.sc-scaled-overlays-outer {\n overflow: hidden;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n.sc-scaled-overlays-inner {\n transform-origin: top left;\n}\n.sc-root * {\n box-sizing: border-box;\n}\n.sc-canvas {\n width: 100%;\n height: 100%;\n}\n\n.sc-question-root {\n bottom: 0;\n width: 100%;\n color: black;\n pointer-events: all;\n}\n.sc-question-inner {\n margin: 0.5rem;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n border-radius: 0.5rem;\n border-width: 2px;\n padding: 1rem;\n background: white;\n}\n.sc-question-text {\n font-size: 12px;\n padding-bottom: 8px;\n font-weight: bold;\n}\n.sc-question-input-outer {\n position: relative;\n}\n.sc-question-input {\n width: 100%;\n height: 2rem;\n padding: 0 12px;\n font-size: 10px;\n border-width: 1px;\n border-style: solid;\n border-color: hsla(0, 0%, 0%, 0.15);\n border-radius: 2rem;\n outline: none;\n transition: 0.25s ease-out;\n box-shadow: none;\n overflow: hidden;\n text-overflow: ellipsis;\n color: inherit;\n}\n.sc-question-input:focus {\n border-color: var(--sc-accent-color);\n box-shadow: 0px 0px 0px 3px var(--sc-accent-color-transparent);\n}\n.sc-question-input:hover {\n border-color: var(--sc-accent-color);\n}\n.sc-question-submit-button {\n top: 4px;\n right: 4px;\n width: 24px;\n height: 24px;\n position: absolute;\n outline: none;\n border: none;\n padding: 2px;\n margin: 0;\n border-radius: 100%;\n background: none;\n cursor: pointer;\n color: white;\n background-color: var(--sc-accent-color);\n background-image: url('+r+');\n overflow: hidden;\n}\n.sc-question-submit-button:focus {\n outline: 2px solid black;\n}\n.sc-question-submit-button-image {\n width: 100%;\n height: 100%;\n}\n\n.sc-monitor-overlay {\n\n}\n.sc-monitor-root {\n position: absolute;\n top: 0;\n left: 0;\n background: hsla(215, 100%, 95%, 1);\n color: #575e75;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n border-radius: 4px;\n font-size: 12px;\n overflow: hidden;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n flex-direction: column;\n pointer-events: all;\n}\n.sc-monitor-inner {\n display: flex;\n flex-direction: column;\n padding: 3px;\n}\n.sc-monitor-row {\n display: flex;\n flex-direction: row;\n}\n.sc-monitor-label {\n font-weight: bold;\n text-align: center;\n margin: 0 5px;\n white-space: nowrap;\n}\n.sc-monitor-slider {\n margin: 0;\n width: 100%;\n}\n.sc-monitor-value {\n min-width: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n color: white;\n margin: 0 5px;\n border-radius: 4px;\n padding: 0 2px;\n white-space: pre-wrap;\n background-color: #0fbd8c;\n}\n.sc-monitor-root[opcode^="motion_"] .sc-monitor-value-color {\n background-color: #4c97ff;\n}\n.sc-monitor-root[opcode^="sensing_"] .sc-monitor-value-color {\n background-color: #5cb1d6;\n}\n.sc-monitor-root[opcode^="data_"] .sc-monitor-value-color {\n background-color: #ff8c1a;\n}\n.sc-monitor-root[opcode^="looks_"] .sc-monitor-value-color {\n background-color: #9966ff;\n}\n.sc-monitor-root[opcode^="sound_"] .sc-monitor-value-color {\n background-color: #cf63cf;\n}\n.sc-monitor-large-value {\n min-height: 1.4rem;\n min-width: 3rem;\n padding: 0.1rem 0.25rem;\n text-align: center;\n color: white;\n font-size: 1rem;\n white-space: pre-wrap;\n}\n\n.sc-monitor-list-label {\n background-color: white;\n text-align: center;\n font-weight: bold;\n border-bottom: 1px solid hsla(0, 0%, 0%, 0.15);\n padding: 3px;\n}\n.sc-monitor-list-footer {\n display: flex;\n background-color: white;\n text-align: center;\n font-weight: bold;\n padding: 3px;\n}\n.sc-monitor-list-footer-text {\n text-align: center;\n flex-grow: 1;\n}\n.sc-monitor-row-delete, .sc-monitor-list-add {\n font-weight: bold;\n background: none;\n border: none;\n outline: none;\n font-family: inherit;\n color: inherit;\n cursor: pointer;\n margin: 0;\n padding: 0;\n}\n.sc-monitor-rows-outer {\n flex-grow: 1;\n}\n.sc-monitor-rows-inner {\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n}\n.sc-monitor-rows-endpoint {\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n pointer-events: none;\n}\n\n.sc-monitor-row-root {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: space-around;\n align-items: center;\n padding: 2px;\n width: 100%;\n}\n.sc-monitor-row-index {\n font-weight: bold;\n color: hsla(225, 15%, 40%, 1);\n margin: 0 3px;\n}\n.sc-monitor-row-value-outer {\n display: flex;\n align-items: center;\n min-width: 40px;\n height: 22px;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n background-color: #fc662c;\n color: white;\n margin: 0 3px;\n border-radius: calc(0.5rem / 2);\n flex-grow: 1;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-value-outer {\n background-color: #e25c28;\n}\n.sc-monitor-row-value-inner {\n padding: 3px 5px;\n width: 100%;\n color: inherit;\n background: none;\n border: none;\n font: inherit;\n outline: none;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: text;\n -webkit-user-select: text;\n white-space: pre;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-value-inner {\n padding-right: 0;\n}\n.sc-monitor-row-delete {\n display: none;\n font-size: 150%;\n padding: 0 2px;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-delete {\n display: block;\n}\n.sc-monitor-empty {\n text-align: center;\n padding: 5px;\n}\n\n.sc-controls-bar {\n transform: translateY(-100%);\n display: flex;\n width: 100%;\n justify-content: space-between;\n flex-wrap: nowrap;\n}\n.sc-controls-bar > * {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n}\n\n.sc-context-menu {\n position: absolute;\n color: black;\n box-shadow: 0px 0px 5px 1px hsla(0, 0%, 0%, 0.25);\n min-width: 130px;\n opacity: 0;\n transition: .2s opacity;\n}\n.sc-context-menu-item {\n display: block;\n width: 100%;\n background-color: white;\n border: none;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n font-size: 0.85em;\n padding: 8px 12px;\n margin: 0;\n transition: .1s background-color, .1s color;\n}\n.sc-context-menu-item:focus {\n outline: 2px solid black;\n}\n.sc-context-menu-item:hover,\n.sc-context-menu-item:active {\n color: white;\n background-color: var(--sc-accent-color);\n}\n.sc-context-menu-item:first-child {\n border-radius: 4px 4px 0 0;\n}\n.sc-context-menu-item:last-child {\n border-radius: 0 0 4px 4px;\n}\n\n.sc-dropping {\n background-color: var(--sc-accent-color-transparent);\n}\n',""]),n.locals={root:"sc-root",layers:"sc-layers","scaled-overlays-outer":"sc-scaled-overlays-outer",scaledOverlaysOuter:"sc-scaled-overlays-outer","scaled-overlays-inner":"sc-scaled-overlays-inner",scaledOverlaysInner:"sc-scaled-overlays-inner",canvas:"sc-canvas","question-root":"sc-question-root",questionRoot:"sc-question-root","question-inner":"sc-question-inner",questionInner:"sc-question-inner","question-text":"sc-question-text",questionText:"sc-question-text","question-input-outer":"sc-question-input-outer",questionInputOuter:"sc-question-input-outer","question-input":"sc-question-input",questionInput:"sc-question-input","question-submit-button":"sc-question-submit-button",questionSubmitButton:"sc-question-submit-button","question-submit-button-image":"sc-question-submit-button-image",questionSubmitButtonImage:"sc-question-submit-button-image","monitor-overlay":"sc-monitor-overlay",monitorOverlay:"sc-monitor-overlay","monitor-root":"sc-monitor-root",monitorRoot:"sc-monitor-root","monitor-inner":"sc-monitor-inner",monitorInner:"sc-monitor-inner","monitor-row":"sc-monitor-row",monitorRow:"sc-monitor-row","monitor-label":"sc-monitor-label",monitorLabel:"sc-monitor-label","monitor-slider":"sc-monitor-slider",monitorSlider:"sc-monitor-slider","monitor-value":"sc-monitor-value",monitorValue:"sc-monitor-value","monitor-value-color":"sc-monitor-value-color",monitorValueColor:"sc-monitor-value-color","monitor-large-value":"sc-monitor-large-value",monitorLargeValue:"sc-monitor-large-value","monitor-list-label":"sc-monitor-list-label",monitorListLabel:"sc-monitor-list-label","monitor-list-footer":"sc-monitor-list-footer",monitorListFooter:"sc-monitor-list-footer","monitor-list-footer-text":"sc-monitor-list-footer-text",monitorListFooterText:"sc-monitor-list-footer-text","monitor-row-delete":"sc-monitor-row-delete",monitorRowDelete:"sc-monitor-row-delete","monitor-list-add":"sc-monitor-list-add",monitorListAdd:"sc-monitor-list-add","monitor-rows-outer":"sc-monitor-rows-outer",monitorRowsOuter:"sc-monitor-rows-outer","monitor-rows-inner":"sc-monitor-rows-inner",monitorRowsInner:"sc-monitor-rows-inner","monitor-rows-endpoint":"sc-monitor-rows-endpoint",monitorRowsEndpoint:"sc-monitor-rows-endpoint","monitor-row-root":"sc-monitor-row-root",monitorRowRoot:"sc-monitor-row-root","monitor-row-index":"sc-monitor-row-index",monitorRowIndex:"sc-monitor-row-index","monitor-row-value-outer":"sc-monitor-row-value-outer",monitorRowValueOuter:"sc-monitor-row-value-outer","monitor-row-value-editing":"sc-monitor-row-value-editing",monitorRowValueEditing:"sc-monitor-row-value-editing","monitor-row-value-inner":"sc-monitor-row-value-inner",monitorRowValueInner:"sc-monitor-row-value-inner","monitor-empty":"sc-monitor-empty",monitorEmpty:"sc-monitor-empty","controls-bar":"sc-controls-bar",controlsBar:"sc-controls-bar","context-menu":"sc-context-menu",contextMenu:"sc-context-menu","context-menu-item":"sc-context-menu-item",contextMenuItem:"sc-context-menu-item",dropping:"sc-dropping"},B.a=n},function(A,B,t){const e=t(115),g=t(0);A.exports=new class extends e{constructor(){super(),this.services={},this.workerClass="undefined"==typeof Worker?null:Worker,this.workers=[]}callSync(A,B){const{provider:t,isRemote:e}=this._getServiceProvider(A);if(t){if(e)throw new Error("Cannot use 'callSync' on remote provider for service ".concat(A,"."));for(var g=arguments.length,i=new Array(g>2?g-2:0),Q=2;Q{g.error("Could not handshake with worker: ".concat(A))})):g.warn("Central dispatch ignoring attempt to add duplicate worker")}_getServiceProvider(A){const B=this.services[A];return B&&{provider:B,isRemote:Boolean(this.workerClass&&B instanceof this.workerClass||B.isRemote)}}_onDispatchMessage(A,B){let t;switch(B.method){case"setService":t=this.setService(B.args[0],A);break;default:g.error("Central dispatch received message for unknown method: ".concat(B.method))}return t}}},function(A,B){var t={black:"#000",red:"#c23621",green:"#25bc26",yellow:"#bbbb00",blue:"#492ee1",magenta:"#d338d3",cyan:"#33bbc8",gray:"#808080",purple:"#708"};A.exports=function(A,B){return B?"color: #fff; background: "+t[A]+";":"color: "+t[A]+";"}},function(A,B,t){const e=t(5);A.exports=function(A,B,t){return A&&A.id&&A.default?e(A,B,t):A}},function(A,B){var t="long",e="short",g="numeric";A.exports={number:{decimal:{style:"decimal"},integer:{style:"decimal",maximumFractionDigits:0},currency:{style:"currency",currency:"USD"},percent:{style:"percent"},default:{style:"decimal"}},date:{short:{month:g,day:g,year:"2-digit"},medium:{month:e,day:g,year:g},long:{month:t,day:g,year:g},full:{month:t,day:g,year:g,weekday:t},default:{month:e,day:g,year:g}},time:{short:{hour:g,minute:g},medium:{hour:g,minute:g,second:g},long:{hour:g,minute:g,second:g,timeZoneName:e},full:{hour:g,minute:g,second:g,timeZoneName:e},default:{hour:g,minute:g,second:g}},duration:{default:{hours:{minimumIntegerDigits:1,maximumFractionDigits:0},minutes:{minimumIntegerDigits:2,maximumFractionDigits:0},seconds:{minimumIntegerDigits:2,maximumFractionDigits:3}}},parseNumberPattern:function(A){if(A){var B={},t=A.match(/\b[A-Z]{3}\b/i),e=A.replace(/[^¤]/g,"").length;if(!e&&t&&(e=1),e?(B.style="currency",B.currencyDisplay=1===e?"symbol":2===e?"code":"name",B.currency=t?t[0].toUpperCase():"USD"):A.indexOf("%")>=0&&(B.style="percent"),!/[@#0]/.test(A))return B.style?B:void 0;if(B.useGrouping=A.indexOf(",")>=0,/E\+?[@#0]+/i.test(A)||A.indexOf("@")>=0){var g=A.replace(/E\+?[@#0]+|[^@#0]/gi,"");B.minimumSignificantDigits=Math.min(Math.max(g.replace(/[^@0]/g,"").length,1),21),B.maximumSignificantDigits=Math.min(Math.max(g.length,1),21)}else{for(var i=A.replace(/[^#0.]/g,"").split("."),Q=i[0],s=Q.length-1;"0"===Q[s];)--s;B.minimumIntegerDigits=Math.min(Math.max(Q.length-1-s,1),21);var n=i[1]||"";for(s=0;"0"===n[s];)++s;for(B.minimumFractionDigits=Math.min(Math.max(s,0),20);"#"===n[s];)++s;B.maximumFractionDigits=Math.min(Math.max(s,0),20)}return B}},parseDatePattern:function(A){if(A){for(var B={},i=0;iA.blocks.getAllVariableAndListReferences(null,B)).reduce(t._mergeVarRefObjects,{})}static updateVariableIdentifiers(A,B,t){A.map(A=>(A.referencingField.id=B,t&&(A.referencingField.value=t),A))}}A.exports=t},function(A,B){A.exports=class{constructor(){this._requestID=0,this._openRequests={}}sendRemoteRequest(A,B){const t=this._requestID++,e=new Promise((A,B)=>{this._openRequests[t]={resolve:A,reject:B}});return this._sendRequest(A,B,t),e}sendRemoteNotification(A,B){this._sendRequest(A,B)}didReceiveCall(){throw new Error("Must override didReceiveCall")}_sendMessage(){throw new Error("Must override _sendMessage")}_sendRequest(A,B,t){const e={jsonrpc:"2.0",method:A,params:B};null!==t&&(e.id=t),this._sendMessage(e)}_handleMessage(A){if("2.0"!==A.jsonrpc)throw new Error("Bad or missing JSON-RPC version in message: ".concat(A));A.hasOwnProperty("method")?this._handleRequest(A):this._handleResponse(A)}_sendResponse(A,B,t){const e={jsonrpc:"2.0",id:A};t?e.error=t:e.result=B||null,this._sendMessage(e)}_handleResponse(A){const{result:B,error:t,id:e}=A,g=this._openRequests[e];delete this._openRequests[e],g&&(t?g.reject(t):g.resolve(B))}_handleRequest(A){const{method:B,params:t,id:e}=A,g=this.didReceiveCall(B,t);e&&Promise.resolve(g).then(A=>{this._sendResponse(e,A)},A=>{this._sendResponse(e,null,A)})}}},function(A){A.exports=JSON.parse('{"menuMap":{"cs":[{"code":"cs","name":"čeština"}],"da":[{"code":"da","name":"Dansk"}],"gl":[{"code":"gl","name":"galego"}],"sl":[{"code":"sl","name":"slovenščina"}],"fr":[{"code":"fr","name":"Français"}],"hu":[{"code":"hu","name":"magyar"}],"uk":[{"code":"uk","name":"українська"}],"zh-tw":[{"code":"zh-tw","name":"中文(繁體)"}],"pt":[{"code":"pt","name":"Portuguese"}],"pt-br":[{"code":"pt","name":"Português"}],"tr":[{"code":"tr","name":"Türkçe"}],"ga":[{"code":"ga","name":"Gaeilge"}],"th":[{"code":"th","name":"ภาษาไทย"}],"ja":[{"code":"ja","name":"日本語"}],"ja-hira":[{"code":"ja","name":"日本語"}],"nl":[{"code":"nl","name":"Nederlands"}],"gd":[{"code":"gd","name":"Gàidhlig"}],"nb":[{"code":"nb","name":"norsk"}],"de":[{"code":"de","name":"Deutsch"}],"he":[{"code":"he","name":"עברית"}],"sk":[{"code":"sk","name":"slovenčina"}],"zu":[{"code":"zu","name":"isiZulu"}],"ru":[{"code":"ru","name":"русский"}],"pl":[{"code":"pl","name":"polski"}],"am":[{"code":"am","name":"አማርኛ"}],"az":[{"code":"az","name":"Azərbaycan dili"}],"hr":[{"code":"hr","name":"hrvatski"}],"fa":[{"code":"fa","name":"فارسی"}],"mi":[{"code":"mi","name":"Māori"}],"el":[{"code":"el","name":"Ελληνικά"}],"is":[{"code":"is","name":"íslenska"}],"fi":[{"code":"fi","name":"suomi"}],"eu":[{"code":"eu","name":"euskara"}],"ca":[{"code":"ca","name":"català"}],"lv":[{"code":"lv","name":"latviešu"}],"id":[{"code":"id","name":"Indonesia"}],"es":[{"code":"es","name":"español"}],"es-419":[{"code":"es","name":"español"}],"et":[{"code":"et","name":"eesti"}],"cy":[{"code":"cy","name":"Cymraeg"}],"zh-cn":[{"code":"zh-cn","name":"中文(简体)"}],"bg":[{"code":"bg","name":"български"}],"ar":[{"code":"ar","name":"العربية"}],"en":[{"code":"en","name":"English"}],"sr":[{"code":"sr","name":"српски"}],"sv":[{"code":"sv","name":"svenska"}],"ro":[{"code":"ro","name":"Română"}],"lt":[{"code":"lt","name":"lietuvių"}],"ko":[{"code":"ko","name":"한국어"}],"it":[{"code":"it","name":"Italiano"}],"vi":[{"code":"vi","name":"Tiếng Việt"}]},"nameMap":{"albánština":"sq","amharština":"am","angličtina":"en","arabština":"ar","arménština":"hy","ázerbájdžánština":"az","barmština":"my","baskičtina":"eu","běloruština":"be","bulharština":"bg","čeština":"cs","čínština (tradiční)":"zh-tw","čínština (zjednodušená)":"zh-cn","dánština":"da","esperanto":"eo","estonština":"et","finština":"fi","francouzština":"fr","galicijština":"gl","haitská kreolština":"ht","hebrejština":"he","hindština":"hi","holandština":"nl","chorvatština":"hr","indonéština":"id","irština":"ga","islandština":"is","italština":"it","japonština":"ja","kannadština":"kn","katalánština":"ca","korejština":"ko","kurdština":"ku","latina":"la","litevština":"lt","lotyština":"lv","maďarština":"hu","makedonština":"mk","malajálamština":"ml","malajština":"ms","maltština":"mt","maorština":"mi","marátština":"mr","mongolština":"mn","němčina":"de","norština":"nb","perština":"fa","polština":"pl","portugalština":"pt","rumunština":"ro","ruština":"ru","řečtina":"el","skotská gaelština":"gd","slovenština":"sk","slovinština":"sl","srbština":"sr","španělština":"es","švédština":"sv","telužština":"te","thajština":"th","turečtina":"tr","ukrajinština":"uk","uzbečtina":"uz","velština":"cy","vietnamština":"vi","zulu":"zu","albansk":"sq","amharisk":"am","arabisk":"ar","armensk":"hy","aserbajdsjansk":"az","baskisk":"eu","bulgarsk":"bg","burmesisk":"my","dansk":"da","engelsk":"en","estisk":"et","finsk":"fi","fransk":"fr","galicisk":"gl","græsk":"el","haitisk kreolsk":"ht","hebraisk":"he","hindi":"hi","hollandsk":"nl","hviderussisk":"be","indonesisk":"id","irsk":"ga","islandsk":"is","italiensk":"it","japansk":"ja","kannada":"kn","katalansk":"ca","kinesisk (forenklet)":"zh-cn","kinesisk (traditionelt)":"zh-tw","koreansk":"ko","kroatisk":"hr","kurdisk":"ku","latin":"la","lettisk":"lv","litauisk":"lt","makedonsk":"mk","malajisk":"ms","malayalam":"ml","maltesisk":"mt","maori":"mi","marathi":"mr","mongolsk":"mn","norsk":"nb","persisk":"fa","polsk":"pl","portugisisk":"pt","rumænsk":"ro","russisk":"ru","serbisk":"sr","skotsk gælisk":"gd","slovakisk":"sk","slovensk":"sl","spansk":"es","svensk":"sv","telugu":"te","thailandsk":"th","tjekkisk":"cs","tyrkisk":"tr","tysk":"de","ukrainsk":"uk","ungarsk":"hu","usbekisk":"uz","vietnamesisk":"vi","walisisk":"cy","acerbaixano":"az","albanés":"sq","alemán":"de","amárico":"am","árabe":"ar","armenio":"hy","bielorruso":"be","birmano":"my","búlgaro":"bg","canarés":"kn","catalán":"ca","checo":"cs","chinés (simplificado)":"zh-cn","chinés (tradicional)":"zh-tw","coreano":"ko","crioulo haitiano":"ht","croata":"hr","curdo":"ku","dinamarqués":"da","eslovaco":"sk","esloveno":"sl","español":"es","estoniano":"et","éuscaro":"eu","finés":"fi","francés":"fr","gaélico escocés":"gd","galego":"gl","galés":"cy","grego":"el","hebreo":"he","húngaro":"hu","indonesio":"id","inglés":"en","irlandés":"ga","islandés":"is","italiano":"it","latín":"la","letón":"lv","lituano":"lt","macedonio":"mk","malabar":"ml","malaio":"ms","maltés":"mt","maorí":"mi","mongol":"mn","neerlandés":"nl","noruegués":"nb","persa":"fa","polaco":"pl","portugués":"pt","romanés":"ro","ruso":"ru","serbio":"sr","sueco":"sv","tailandés":"th","telugú":"te","turco":"tr","ucraíno":"uk","usbeco":"uz","vietnamita":"vi","xaponés":"ja","zulú":"zu","albanščina":"sq","amharščina":"am","angleščina":"en","arabščina":"ar","armenščina":"hy","azerbajdžanščina":"az","baskovščina":"eu","beloruščina":"be","bolgarščina":"bg","burmanščina":"my","češčina":"cs","danščina":"da","estonščina":"et","finščina":"fi","francoščina":"fr","galicijščina":"gl","grščina":"el","haitijska kreolščina":"ht","hebrejščina":"he","hindijščina":"hi","hrvaščina":"hr","indonezijščina":"id","irščina":"ga","islandščina":"is","italijanščina":"it","japonščina":"ja","kanareščina":"kn","katalonščina":"ca","kitajščina (poenostavljena)":"zh-cn","kitajščina (tradicionalna)":"zh-tw","korejščina":"ko","kurdščina":"ku","latinščina":"la","latvijščina":"lv","litovščina":"lt","madžarščina":"hu","makedonščina":"mk","malajalščina":"ml","malajščina":"ms","malteščina":"mt","maorščina":"mi","maratščina":"mr","mongolščina":"mn","nemščina":"de","nizozemščina":"nl","norveščina":"nb","perzijščina":"fa","poljščina":"pl","portugalščina":"pt","romunščina":"ro","ruščina":"ru","slovaščina":"sk","slovenščina":"sl","srbščina":"sr","škotska gelščina":"gd","španščina":"es","švedščina":"sv","tajščina":"th","teluščina":"te","turščina":"tr","ukrajinščina":"uk","uzbeščina":"uz","valižanščina":"cy","vietnamščina":"vi","zulujščina":"zu","albanais":"sq","allemand":"de","amharique":"am","anglais":"en","arabe":"ar","arménien":"hy","azéri":"az","basque":"eu","biélorusse":"be","birman":"my","bulgare":"bg","catalan":"ca","chinois (simplifié)":"zh-cn","chinois (traditionnel)":"zh-tw","coréen":"ko","créole haïtien":"ht","croate":"hr","danois":"da","espagnol":"es","espéranto":"eo","estonien":"et","finnois":"fi","français":"fr","gaélique (écosse)":"gd","galicien":"gl","gallois":"cy","grec":"el","hébreu":"he","hongrois":"hu","indonésien":"id","irlandais":"ga","islandais":"is","italien":"it","japonais":"ja","kurde":"ku","letton":"lv","lituanien":"lt","macédonien":"mk","malaisien":"ms","maltais":"mt","néerlandais":"nl","norvégien":"nb","ouzbek":"uz","persan":"fa","polonais":"pl","portugais":"pt","roumain":"ro","russe":"ru","serbe":"sr","slovaque":"sk","slovène":"sl","suédois":"sv","tchèque":"cs","thaï":"th","turc":"tr","ukrainien":"uk","vietnamien":"vi","zoulou":"zu","albán":"sq","amhara":"am","angol":"en","arab":"ar","azeri":"az","baszk":"eu","belorusz":"be","bolgár":"bg","burmai":"my","cseh":"cs","dán":"da","eszperantó":"eo","észt":"et","finn":"fi","francia":"fr","galíciai":"gl","görög":"el","haiti kreol":"ht","héber":"he","holland":"nl","horvát":"hr","indonéz":"id","ír":"ga","izlandi":"is","japán":"ja","katalán":"ca","kínai (egyszerűsített)":"zh-cn","kínai (hagyományos)":"zh-tw","koreai":"ko","kurd":"ku","lengyel":"pl","lett":"lv","litván":"lt","macedón":"mk","magyar":"hu","maláj":"ms","malajálam":"ml","máltai":"mt","maráthi":"mr","német":"de","norvég":"nb","olasz":"it","orosz":"ru","örmény":"hy","perzsa":"fa","portugál":"pt","román":"ro","skót-gael":"gd","spanyol":"es","svéd":"sv","szerb":"sr","szlovák":"sk","szlovén":"sl","thai":"th","török":"tr","ukrán":"uk","üzbég":"uz","vietnami":"vi","walesi":"cy","азербайджанська":"az","албанська":"sq","амхарська":"am","англійська":"en","арабська":"ar","баскська":"eu","білоруська":"be","бірманська":"my","болгарська":"bg","в’єтнамська":"vi","валлійська":"cy","вірменська":"hy","гаїтянська креольська":"ht","гінді":"hi","грецька":"el","ґалісійська":"gl","данська":"da","есперанто":"eo","естонська":"et","зулу":"zu","іврит":"he","індонезійська":"id","ірландська":"ga","ісландська":"is","іспанська":"es","італійська":"it","каннада":"kn","каталанська":"ca","китайська (спрощена)":"zh-cn","китайська (традиційна)":"zh-tw","корейська":"ko","курдська":"ku","латинська":"la","латиська":"lv","литовська":"lt","македонська":"mk","малайська":"ms","малаялам":"ml","мальтійська":"mt","маорі":"mi","маратхі":"mr","монгольська":"mn","нідерландська":"nl","німецька":"de","норвезька":"nb","перська":"fa","польська":"pl","португальська":"pt","російська":"ru","румунська":"ro","сербська":"sr","словацька":"sk","словенська":"sl","тайська":"th","телуґу":"te","турецька":"tr","угорська":"hu","узбецька":"uz","українська":"uk","фінська":"fi","французька":"fr","хорватська":"hr","чеська":"cs","шведська":"sv","шотландська (ґельська)":"gd","японська":"ja","土耳其文":"tr","中文(繁體)":"zh-tw","中文(簡體)":"zh-cn","丹麥文":"da","巴斯克文":"eu","日文":"ja","毛利文":"mi","世界語":"eo","加里西亞文":"gl","加泰羅尼亞文":"ca","卡納達文":"kn","白俄羅斯文":"be","立陶宛文":"lt","冰島文":"is","匈牙利文":"hu","印尼文":"id","印度文":"hi","西班牙文":"es","克羅埃西亞文":"hr","希伯來文":"he","希臘文":"el","亞美尼亞文":"hy","亞塞拜然文":"az","拉丁文":"la","拉脫維亞文":"lv","法文":"fr","波斯文":"fa","波蘭文":"pl","芬蘭文":"fi","阿姆哈拉文":"am","阿拉伯文":"ar","阿爾巴尼亞文":"sq","俄文":"ru","保加利亞文":"bg","南非祖魯文":"zu","威爾斯文":"cy","英文":"en","庫德文":"ku","挪威文":"nb","泰文":"th","泰盧固文":"te","海地克里奧文":"ht","烏克蘭文":"uk","烏茲別克文":"uz","馬耳他文":"mt","馬來文":"ms","馬其頓文":"mk","馬拉地文":"mr","馬拉雅拉姆文":"ml","捷克文":"cs","荷蘭文":"nl","斯洛伐克文":"sk","斯洛維尼亞文":"sl","越南文":"vi","塞爾維亞文":"sr","愛沙尼亞文":"et","愛爾蘭文":"ga","瑞典文":"sv","義大利文":"it","葡萄牙文":"pt","蒙古文":"mn","德文":"de","緬甸文":"my","韓文":"ko","羅馬尼亞文":"ro","蘇格蘭的蓋爾文":"gd","अझरबैजानी":"az","अम्हारिक":"am","अरबी":"ar","अर्मेनियन":"hy","अल्बानियन":"sq","आइसलँडिक":"is","आयरिश":"ga","इंग्रजी":"en","इंडोनेशियन":"id","इटालियन":"it","उझ्बेक":"uz","एस्टोनियन":"et","एस्परँटो":"eo","कन्नड":"kn","कुर्दिश (कुर्मांजी)":"ku","कॅटलान":"ca","कोरियन":"ko","क्रोएशियन":"hr","गॅलिशियन":"gl","ग्रीक":"el","चीनी (पारंपारिक)":"zh-tw","चीनी (सरलीकृत)":"zh-cn","जपानी":"ja","जर्मन":"de","झुलु":"zu","झेक":"cs","डच":"nl","डॅनिश":"da","तुर्की":"tr","तेलगू":"te","थाई":"th","नॉर्वेजियन":"nb","पोर्तुगीज":"pt","पोलिश":"pl","फारसी":"fa","फिन्निश":"fi","फ्रेंच":"fr","बल्गेरियन":"bg","बास्क":"eu","बेलारुशियन":"be","मंगोलियन":"mn","मराठी":"mr","मलय":"ms","मल्याळम":"ml","माओरी":"mi","माल्टीज":"mt","मॅसेडोनियन":"mk","म्यानमार (बर्मीज)":"my","युक्रेनियन":"uk","रशियन":"ru","रोमानियन":"ro","लाट्वियन":"lv","लिथुआनियन":"lt","लॅटिन":"la","वेल्श":"cy","व्हिएतनामी":"vi","सर्बियन":"sr","स्कॉट्स गेलिक":"gd","स्पॅनिश":"es","स्लोव्हाक":"sk","स्लोव्हेनियन":"sl","स्वीडिश":"sv","हंगेरियन":"hu","हिन्दी":"hi","हिब्रू":"he","हैतीयन क्रेओल":"ht","albanian":"sq","amharic":"am","arabic":"ar","armenian":"hy","azerbaijani":"az","belarusian":"be","bulgarian":"bg","chinese (simplified)":"zh-cn","chinese (traditional)":"zh-tw","croatian":"hr","czech":"cs","danish":"da","dutch":"nl","english":"en","estonian":"et","finnish":"fi","french":"fr","galician":"gl","german":"de","greek":"el","haitian creole":"ht","hebrew":"he","hungarian":"hu","icelandic":"is","indonesian":"id","irish":"ga","italian":"it","japanese":"ja","korean":"ko","kurdish (kurmanji)":"ku","latvian":"lv","lithuanian":"lt","macedonian":"mk","malay":"ms","maltese":"mt","mongolian":"mn","myanmar (burmese)":"my","norwegian":"nb","persian":"fa","polish":"pl","portuguese":"pt","romanian":"ro","russian":"ru","scots gaelic":"gd","serbian":"sr","slovak":"sk","slovenian":"sl","spanish":"es","swedish":"sv","turkish":"tr","ukrainian":"uk","uzbek":"uz","vietnamese":"vi","welsh":"cy","albanês":"sq","alemão":"de","armênio":"hy","azerbaijano":"az","basco":"eu","bielo-russo":"be","birmanês":"my","canarês":"kn","catalão":"ca","chinês (simplificado)":"zh-cn","chinês (tradicional)":"zh-tw","dinamarquês":"da","espanhol":"es","finlandês":"fi","francês":"fr","gaélico escocês":"gd","galês":"cy","hebraico":"he","holandês":"nl","indonésio":"id","inglês":"en","irlandês":"ga","islandês":"is","japonês":"ja","latim":"la","letão":"lv","macedônio":"mk","malaiala":"ml","maltês":"mt","marata":"mr","norueguês":"nb","polonês":"pl","português":"pt","romeno":"ro","russo":"ru","sérvio":"sr","tailandês":"th","tcheco":"cs","telugo":"te","ucraniano":"uk","uzbeque":"uz","almanca":"de","arapça":"ar","arnavutça":"sq","azerice":"az","baskça":"eu","belarusça":"be","bulgarca":"bg","burmaca":"my","çekçe":"cs","çince (basitleştirilmiş)":"zh-cn","çince (geleneksel)":"zh-tw","danca":"da","endonezya dili":"id","ermenice":"hy","esperantoca":"eo","estonyaca":"et","farsça":"fa","felemenkçe":"nl","fince":"fi","fransızca":"fr","galce":"cy","galiçyaca":"gl","habeşçe":"am","haiti creole dili":"ht","hırvatça":"hr","hintçe":"hi","i̇branice":"he","i̇ngilizce":"en","i̇rlandaca":"ga","i̇spanyolca":"es","i̇sveççe":"sv","i̇talyanca":"it","i̇zlandaca":"is","japonca":"ja","katalanca":"ca","korece":"ko","kuzey i̇skoç dili":"gd","kürtçe":"ku","latince":"la","lehçe":"pl","letonca":"lv","litvanca":"lt","macarca":"hu","makedonca":"mk","malezya dili":"ms","malta dili":"mt","maori dili":"mi","moğolca":"mn","norveççe":"nb","özbekçe":"uz","portekizce":"pt","romence":"ro","rusça":"ru","sırpça":"sr","slovakça":"sk","slovence":"sl","tay dili":"th","telugu dili":"te","türkçe":"tr","ukraynaca":"uk","vietnamca":"vi","yunanca":"el","airméinis":"hy","albáinis":"sq","amárais":"am","araibis":"ar","asarbaiseáinis":"az","bascais":"eu","bealarúisis":"be","béarla":"en","breatnais":"cy","bulgáiris":"bg","cannadais":"kn","catalóinis":"ca","coirdis (curmainsis)":"ku","cóiréis":"ko","criól háítí":"ht","cróitis":"hr","danmhairgis":"da","eabhrais":"he","eastóinis":"et","fionlainnis":"fi","fraincis":"fr","gaeilge":"ga","gaeilge na halban":"gd","gailísis":"gl","gearmáinis":"de","gréigis":"el","hiondúis":"hi","indinéisis":"id","iodáilis":"it","ioruais":"nb","íoslainnis":"is","laidin":"la","laitvis":"lv","liotuáinis":"lt","macadóinis":"mk","maenmar (burmais)":"my","mailéalaimis":"ml","malaeis":"ms","máltais":"mt","maorais":"mi","maraitis":"mr","mongóilis":"mn","ollainnis":"nl","peirsis":"fa","polainnis":"pl","portaingéilis":"pt","rómáinis":"ro","rúisis":"ru","seapáinis":"ja","seicis":"cs","seirbis":"sr","sínis (simplithe)":"zh-cn","sínis (traidisiúnta)":"zh-tw","slóivéinis":"sl","slóvaicis":"sk","spáinnis":"es","sualainnis":"sv","súlúis":"zu","téalainnis":"th","teileagúis":"te","tuircis":"tr","úcráinis":"uk","úisbéiceastáinis":"uz","ungáiris":"hu","vítneaimis":"vi","ภาษากรีก":"el","ภาษากันนาดา":"kn","ภาษากาลิเชียน":"gl","ภาษาเกลิกในสก็อต":"gd","ภาษาเกาหลี":"ko","ภาษาคาตาลัน":"ca","ภาษาเคิร์ด":"ku","ภาษาโครเอเชีย":"hr","ภาษาจีน (ดั้งเดิม)":"zh-tw","ภาษาจีน (แบบย่อ)":"zh-cn","ภาษาเช็ก":"cs","ภาษาซูลู":"zu","ภาษาเซอร์เบียน":"sr","ภาษาญี่ปุ่น":"ja","ภาษาดัตช์":"nl","ภาษาเดนมาร์ก":"da","ภาษาตุรกี":"tr","ภาษาเตลูกู":"te","ภาษาไทย":"th","ภาษานอร์เวย์":"nb","ภาษาบัลกาเรีย":"bg","ภาษาบาสก์":"eu","ภาษาเบลารูเชียน":"be","ภาษาเปอร์เซีย":"fa","ภาษาโปรตุเกส":"pt","ภาษาโปแลนด์":"pl","ภาษาฝรั่งเศส":"fr","ภาษาฟินแลนด์":"fi","ภาษามองโกเลีย":"mn","ภาษามัลทีส":"mt","ภาษามาซีโดเนีย":"mk","ภาษามาราฐี":"mr","ภาษามาลายาลัม":"ml","ภาษามาเลย์":"ms","ภาษาเมารี":"mi","ภาษาเมียนมา (พม่า)":"my","ภาษายูเครน":"uk","ภาษาเยอรมัน":"de","ภาษารัสเซีย":"ru","ภาษาโรมาเนีย":"ro","ภาษาละติน":"la","ภาษาลัทเวีย":"lv","ภาษาลิทัวเนีย":"lt","ภาษาเวลส์":"cy","ภาษาเวียดนาม":"vi","ภาษาสเปน":"es","ภาษาสโลวัก":"sk","ภาษาสโลเวเนีย":"sl","ภาษาสวีเดน":"sv","ภาษาอังกฤษ":"en","ภาษาอัมฮาริก":"am","ภาษาอัลบาเนีย":"sq","ภาษาอาร์เซอร์ไบจัน":"az","ภาษาอาร์เมเนีย":"hy","ภาษาอาหรับ":"ar","ภาษาอิตาลี":"it","ภาษาอินโดนีเซีย":"id","ภาษาอุสเบกิสถาน":"uz","ภาษาเอสโทเนีย":"et","ภาษาเอสเปอแรนโต":"eo","ภาษาไอซ์แลนดิก":"is","ภาษาไอริช":"ga","ภาษาฮังการี":"hu","ภาษาฮินดี":"hi","ภาษาฮิบรู":"he","ภาษาเฮติครีโอล":"ht","アイスランド語":"is","アイルランド語":"ga","アゼルバイジャン語":"az","アムハラ語":"am","アラビア語":"ar","アルバニア語":"sq","アルメニア語":"hy","イタリア語":"it","インドネシア語":"id","ウェールズ語":"cy","ウクライナ語":"uk","ウズベク語":"uz","エストニア語":"et","エスペラント語":"eo","オランダ語":"nl","カタルーニャ語":"ca","ガリシア語":"gl","カンナダ語":"kn","ギリシャ語":"el","クルド語":"ku","クロアチア語":"hr","スウェーデン語":"sv","ズールー語":"zu","スコットランド ゲール語":"gd","スペイン語":"es","スロバキア語":"sk","スロベニア語":"sl","セルビア語":"sr","タイ語":"th","チェコ語":"cs","テルグ語":"te","デンマーク語":"da","ドイツ語":"de","トルコ語":"tr","ノルウェー語":"nb","ハイチ語":"ht","バスク語":"eu","ハンガリー語":"hu","ヒンディー語":"hi","フィンランド語":"fi","フランス語":"fr","ブルガリア語":"bg","ベトナム語":"vi","ヘブライ語":"he","ベラルーシ語":"be","ペルシャ語":"fa","ポーランド語":"pl","ポルトガル語":"pt","マオリ語":"mi","マケドニア語":"mk","マラーティー語":"mr","マラヤーラム語":"ml","マルタ語":"mt","マレー語":"ms","ミャンマー語":"my","モンゴル語":"mn","ラテン語":"la","ラトビア語":"lv","リトアニア語":"lt","ルーマニア語":"ro","ロシア語":"ru","英語":"en","韓国語":"ko","中国語(簡体)":"zh-cn","中国語(繁体)":"zh-tw","日本語":"ja","albanees":"sq","amharisch":"am","arabisch":"ar","armeens":"hy","azerbeidzjaans":"az","baskisch":"eu","birmaans":"my","bulgaars":"bg","catalaans":"ca","chinees (traditioneel)":"zh-tw","chinees (vereenvoudigd)":"zh-cn","deens":"da","duits":"de","engels":"en","ests":"et","fins":"fi","frans":"fr","galicisch":"gl","grieks":"el","haïtiaans creools":"ht","hebreeuws":"he","hongaars":"hu","iers":"ga","ijslands":"is","indonesisch":"id","italiaans":"it","japans":"ja","koerdisch":"ku","koreaans":"ko","kroatisch":"hr","latijn":"la","lets":"lv","litouws":"lt","macedonisch":"mk","maleis":"ms","maltees":"mt","mongools":"mn","nederlands":"nl","noors":"nb","oekraïens":"uk","oezbeeks":"uz","perzisch":"fa","pools":"pl","portugees":"pt","roemeens":"ro","russisch":"ru","schots keltisch":"gd","servisch":"sr","slovaaks":"sk","sloveens":"sl","spaans":"es","tsjechisch":"cs","turks":"tr","vietnamees":"vi","wels":"cy","wit-russisch":"be","zoeloe":"zu","zweeds":"sv","airmeinis":"hy","albàinis":"sq","amtharais":"am","arabais":"ar","asarbaideànais":"az","basgais":"eu","bealaruisis":"be","beurla":"en","bhiet-namais":"vi","bulgarais":"bg","cànan nan tàidh":"th","catalanais":"ca","coirèanais":"ko","crìtheol haidhti":"ht","cròthaisis":"hr","cuimris":"cy","cùrdais (kurmanji)":"ku","duitsis":"nl","eabhra":"he","eadailtis":"it","eastoinis":"et","fionnlannais":"fi","fraingis":"fr","gàidhlig":"gd","gailìsis":"gl","gearmailtis":"de","grèigis":"el","hindis":"hi","innd-innsis":"id","innis-tìlis":"is","laideann":"la","laitbheis":"lv","liotuainis":"lt","malaidhis":"ms","māori":"mi","masadonais":"mk","miànmar (burmais)":"my","mongolais":"mn","nirribhis":"nb","pòlainnis":"pl","portagailis":"pt","romàinis":"ro","ruisis":"ru","seacais":"cs","seapanais":"ja","sèirbis":"sr","sìonais (seann-nòsach)":"zh-tw","sìonais (sìmplichte)":"zh-cn","slòbhacais":"sk","slòbhainis":"sl","spàinntis":"es","suainis":"sv","turcais":"tr","ucràinis":"uk","ungairis":"hu","usbagais":"uz","farsi":"fa","galisisk":"gl","gresk":"el","hviterussisk":"be","kinesisk (tradisjonell)":"zh-tw","kreol (haiti)":"ht","latvisk":"lv","malayisk":"ms","nederlandsk":"nl","rumensk":"ro","tsjekkisk":"cs","albanisch":"sq","armenisch":"hy","aserbaidschanisch":"az","birmanisch":"my","bulgarisch":"bg","chinesisch (traditionell)":"zh-tw","chinesisch (vereinfacht)":"zh-cn","dänisch":"da","deutsch":"de","englisch":"en","estnisch":"et","finnisch":"fi","französisch":"fr","galizisch":"gl","griechisch":"el","haitianisch":"ht","hebräisch":"he","irisch":"ga","isländisch":"is","italienisch":"it","japanisch":"ja","katalanisch":"ca","koreanisch":"ko","kurdisch (kurmandschi)":"ku","lateinisch":"la","lettisch":"lv","litauisch":"lt","malaysisch":"ms","maltesisch":"mt","mazedonisch":"mk","mongolisch":"mn","niederländisch":"nl","norwegisch":"nb","persisch":"fa","polnisch":"pl","portugiesisch":"pt","rumänisch":"ro","schottisch-gälisch":"gd","schwedisch":"sv","serbisch":"sr","slowakisch":"sk","slowenisch":"sl","spanisch":"es","thailändisch":"th","tschechisch":"cs","türkisch":"tr","ukrainisch":"uk","ungarisch":"hu","usbekisch":"uz","vietnamesisch":"vi","walisisch":"cy","weißrussisch":"be","ကနာဒါ":"kn","ကာ့ဒ် (ကာမန်ဂျီ)":"ku","ကိုရီးယား":"ko","ကက်တလန်":"ca","ခရိုအေးရှား":"hr","ချက်":"cs","ဂရိ":"el","ဂယ်လိရှ":"gl","ဂျပန်":"ja","ဂျာမန်":"de","စကော့ ဂေးလစ်":"gd","စပိန်":"es","ဆလိုဗေးနီးယား":"sl","ဆလိုဗက်":"sk","ဆားဘီးယား":"sr","ဆွီဒင်":"sv","ဇူးလူး":"zu","တရုတ် (ရိုးရာ)":"zh-tw","တရုတ် (အလွယ်)":"zh-cn","တူ​ရ​ကီ":"tr","တယ်လူဂူ":"te","ထိုင်း":"th","ဒတ်ချ်":"nl","ဒိန်းမတ်":"da","နော်ဝေ":"nb","ပါရှန်":"fa","ပေါ်တူဂီ":"pt","ပိုလန်":"pl","ပြင်သစ်":"fr","ဖင်လန်":"fi","ဗီယက်နမ်":"vi","ဘာ့စ်":"eu","ဘူဂေးရီးယား":"bg","ဘယ်လာရုစ်":"be","မလေယာလမ်":"ml","မလေး":"ms","မာရာသီ":"mr","မော်ရီ":"mi","မော်လတာ":"mt","မက်ဆီဒိုးနီးယား":"mk","မြန်မာ (မြန်မာ)":"my","မွန်ဂိုလီးယား":"mn","ယူ​က​ရိန်း​":"uk","ရုရှား":"ru","ရိုမေးနီးယား":"ro","လက်တင်":"la","လစ်သူယေးနီးယား":"lt","လတ်ဗီယာ":"lv","ဝေလ":"cy","ဟီဘရူး":"he","ဟေတီ ခရီအိုး":"ht","ဟင်ဒီ":"hi","ဟန်ဂေရီ":"hu","အဇာဘိုင်ဂျန်":"az","အာမေးနီးယား":"hy","အာရေဗျ":"ar","အီတလီ":"it","ဥဇဘက်":"uz","အက်စတိုးနီးယား":"et","အက်စ်ပဲရန်တို":"eo","အိုက်စလန်":"is","အင်္ဂလိပ်":"en","အင်ဒိုနီးရှား":"id","အိုင်းရစ်ရှ်":"ga","အမ်ဟဲရစ်ခ်":"am","အယ်လ်ဘေးနီးယား":"sq","אוזבקית":"uz","אוקראינית":"uk","אזרית":"az","איטלקית":"it","אינדונזית":"id","איסלנדית":"is","אירית":"ga","אלבנית":"sq","אמהרית":"am","אנגלית":"en","אסטונית":"et","אספרנטו":"eo","ארמנית":"hy","באסקית":"eu","בולגרית":"bg","בורמזית":"my","בלארוסית":"be","גליציאנית":"gl","גרמנית":"de","דנית":"da","הולנדית":"nl","הונגרית":"hu","הינדי":"hi","וולשית":"cy","וייטנאמית":"vi","זולו":"zu","טורקית":"tr","טלוגו":"te","יוונית":"el","יפנית":"ja","כורדית":"ku","לטווית":"lv","לטינית":"la","ליטאית":"lt","מאורית":"mi","מאלאיאלם":"ml","מאלזית":"ms","מאראתי":"mr","מונגולית":"mn","מלטית":"mt","מקדונית":"mk","נורווגית":"nb","סינית (מסורתית)":"zh-tw","סינית (פשוטה)":"zh-cn","סלובנית":"sl","סלובקית":"sk","ספרדית":"es","סקוטית גאלית":"gd","סרבית":"sr","עברית":"he","ערבית":"ar","פולנית":"pl","פורטוגזית":"pt","פינית":"fi","פרסית":"fa","צ\'כית":"cs","צרפתית":"fr","קאנאדה":"kn","קוריאנית":"ko","קטלאנית":"ca","קרואטית":"hr","קריאולית האיטית":"ht","רומנית":"ro","רוסית":"ru","שוודית":"sv","תאילנדית":"th","азербејџански":"az","албански":"sq","амхарски":"am","англиски":"en","арапски":"ar","баскиски":"eu","белоруски":"be","бугарски":"bg","бурмански":"my","велшки":"cy","виетнамски":"vi","галициски":"gl","германски":"de","грчки":"el","дански":"da","ерменски":"hy","естонски":"et","индонезиски":"id","ирски":"ga","исландски":"is","италијански":"it","јапонски":"ja","канада":"kn","каталонски":"ca","кинески (поедноставен)":"zh-cn","кинески (традиционален)":"zh-tw","корејски":"ko","курдски":"ku","латвиски":"lv","латински":"la","литвански":"lt","македонски":"mk","малајалам":"ml","малајски":"ms","малтешки":"mt","маорски":"mi","маратхи":"mr","монголски":"mn","норвешки":"nb","персиски":"fa","полски":"pl","португалски":"pt","романски":"ro","руски":"ru","словачки":"sk","словенечки":"sl","српски":"sr","тајландски":"th","телугу":"te","турски":"tr","узбечки":"uz","украински":"uk","унгарски":"hu","фински":"fi","француски":"fr","хаитски креолски":"ht","хебрејски":"he","хиндиски":"hi","холандски":"nl","хрватски":"hr","чешки":"cs","шведски":"sv","шкотски галски":"gd","шпански":"es","ಅಜರ್ಬೈಜಾನಿ":"az","ಅಮಹಾರಿಕ್":"am","ಅರಬ್ಬಿ":"ar","ಆರ್ಮೇನಿಯನ್":"hy","ಆಲ್ಬೇನಿಯನ್":"sq","ಇಂಗ್ಲಿಷ್‌‌":"en","ಇಂಡೋನೇಷಿಯನ್":"id","ಇಟಾಲಿಯನ್":"it","ಉಜ್ಬೆಕ್":"uz","ಎಸ್ಟೋನಿಯನ್":"et","ಎಸ್ಪೆರಾಂಟೋ":"eo","ಐರಿಷ್":"ga","ಐಸ್‌ಲ್ಯಾಂಡಿಕ್‌":"is","ಕನ್ನಡ":"kn","ಕುರ್ದಿಶ್":"ku","ಕೊರಿಯನ್":"ko","ಕ್ಯಾಟಲನ್":"ca","ಕ್ರೊಯೇಷಿಯನ್":"hr","ಗ್ಯಾಲೀಷಿಯನ್":"gl","ಗ್ರೀಕ್":"el","ಚೀನಿ (ಸರಳೀಕೃತ)":"zh-cn","ಚೀನಿ (ಸಾಂಪ್ರದಾಯಿಕ)":"zh-tw","ಜಪಾನಿ":"ja","ಜರ್ಮನ್":"de","ಜುಲು":"zu","ಝೆಕ್‌":"cs","ಟರ್ಕಿಷ್":"tr","ಡಚ್":"nl","ಡ್ಯಾನಿಷ್":"da","ತೆಲುಗು":"te","ಥಾಯ್":"th","ನಾರ್ವೇಜಿಯನ್‌":"nb","ಪೋರ್ಚುಗೀಸ್":"pt","ಪೋಲಿಷ್":"pl","ಫಾರ್ಸಿ":"fa","ಫಿನ್ನಿಷ್":"fi","ಫ್ರೆಂಚ್":"fr","ಬರ್ಮೀಸ್":"my","ಬಲ್ಗೇರಿಯನ್":"bg","ಬಾಸ್ಕ್":"eu","ಬೆಲರೂಸಿಯನ್":"be","ಮಂಗೋಲಿಯನ್":"mn","ಮರಾಠಿ":"mr","ಮಲಯ":"ms","ಮಲಯಾಳಂ":"ml","ಮಾಲ್ಟೀಸ್":"mt","ಮಾವೋರಿ":"mi","ಮ್ಯಾಸೆಡೋನಿಯನ್":"mk","ಯುಕ್ರೇನಿಯನ್":"uk","ರಷಿಯನ್":"ru","ರೊಮೇನಿಯನ್":"ro","ಲಿಥುವೇನಿಯನ್":"lt","ಲ್ಯಾಟಿನ್":"la","ಲ್ಯಾಟ್ವಿಯನ್‌":"lv","ವಿಯೆಟ್ನಾಮಿ":"vi","ವೆಲ್ಶ್":"cy","ಸರ್ಬಿಯನ್":"sr","ಸ್ಕಾಟ್ಸ್ ಗ್ಯಾಲಿಕ್":"gd","ಸ್ಪ್ಯಾನಿಷ್":"es","ಸ್ಲೊವಾಕ್":"sk","ಸ್ಲೊವೆನಿಯನ್":"sl","ಸ್ವೀಡಿಷ್":"sv","ಹಂಗೇರಿಯನ್":"hu","ಹಯಥಿಯನ್‌ ಕ್ರಿಯೋಲ್‌":"ht","ಹಿಂದಿ":"hi","ಹೀಬ್ರೂ":"he","അമാറിക്":"am","അർമേനിയൻ":"hy","അൽബേനിയൻ":"sq","അസർബൈജാനി":"az","അറബിക്":"ar","ഇന്തോനേഷ്യൻ":"id","ഇംഗ്ലീഷ്":"en","ഇറ്റാലിയൻ":"it","ഉക്രേനിയൻ":"uk","ഉസ്ബെക്ക്":"uz","എസ്‌പെരന്തോ":"eo","എസ്റ്റോണിയൻ":"et","ഐസ്‌ലാൻഡിക്":"is","ഐറിഷ്":"ga","കന്നട":"kn","കാറ്റലൻ":"ca","കുർദ്ദിഷ്":"ku","കൊറിയൻ":"ko","ക്രൊയേഷ്യൻ":"hr","ഗലീഷ്യൻ":"gl","ഗ്രീക്ക്":"el","ചെക്ക്":"cs","ചൈനീസ് (പരമ്പരാഗതം)":"zh-tw","ചൈനീസ് (ലഘൂകരിച്ചത്)":"zh-cn","ജർമ്മൻ":"de","ജാപ്പനീസ്‌":"ja","ടർക്കിഷ്":"tr","ഡച്ച്":"nl","ഡാനിഷ്":"da","തായ്":"th","തെലുങ്ക്":"te","നോർവീജിയൻ":"nb","പേർഷ്യൻ":"fa","പോർച്ചുഗീസ്":"pt","പോളിഷ്":"pl","ഫിന്നിഷ്":"fi","ഫ്രെഞ്ച്":"fr","ബർമീസ്":"my","ബൾഗേറിയൻ":"bg","ബാസ്ക്":"eu","ബെലാറുഷ്യൻ":"be","മംഗോളിയൻ":"mn","മലയാളം":"ml","മലയ്":"ms","മറാഠി":"mr","മാസഡോണിയൻ":"mk","മാൾട്ടീസ്":"mt","മൗറി":"mi","ലാറ്റിൻ":"la","ലാറ്റ്‌വിയൻ":"lv","ലിത്വേനിയൻ":"lt","വിയറ്റ്നാമീസ്":"vi","വെൽഷ്":"cy","സുളു":"zu","സെർബിയൻ":"sr","സ്കോട്ട്സ് ഗ്യാലിക്":"gd","സ്പാനിഷ്":"es","സ്ലോവാക്":"sk","സ്ലോവേനിയൻ":"sl","സ്വീഡിഷ്":"sv","ഹംഗേറിയൻ":"hu","ഹിന്ദി":"hi","ഹീബ്രു":"he","ഹെയ്തിയൻ ക്രയോൾ":"ht","റഷ്യൻ":"ru","റൊമേനിയൻ":"ro","albánčina":"sq","amharčina":"am","arabčina":"ar","arménčina":"hy","azerbajdžančina":"az","barmčina":"my","bieloruština":"be","bulharčina":"bg","čínština (tradičná)":"zh-tw","dánčina":"da","estónčina":"et","fínčina":"fi","francúzština":"fr","galícijčina":"gl","gréčtina":"el","haitská kreolčina":"ht","hebrejčina":"he","hindčina":"hi","holandčina":"nl","chorvátčina":"hr","indonézština":"id","írčina":"ga","islandčina":"is","japončina":"ja","kannadčina":"kn","katalánčina":"ca","kórejčina":"ko","kurdčina":"ku","latinčina":"la","litovčina":"lt","macedónčina":"mk","maďarčina":"hu","malajámčina":"ml","malajčina":"ms","maltčina":"mt","maorijčina":"mi","maratčina":"mr","mongolčina":"mn","nemčina":"de","nórčina":"nb","perzština":"fa","poľština":"pl","portugalčina":"pt","rumunčina":"ro","slovenčina":"sk","slovinčina":"sl","srbčina":"sr","škótska gaelčina":"gd","španielčina":"es","švédčina":"sv","taliančina":"it","telugčina":"te","thajčina":"th","ukrajinčina":"uk","vietnamčina":"vi","waleština":"cy","zuluština":"zu","isi-albania":"sq","isi-amharic":"am","isi-arabic":"ar","isi-armenian":"hy","isi-azerbaijani":"az","isi-basque":"eu","isi-belarusian":"be","isi-bulgarian":"bg","isi-burmese":"my","isi-catalan":"ca","isi-chinese (simplified)":"zh-cn","isi-chinese (traditional)":"zh-tw","isi-croatian":"hr","isi-czech":"cs","isi-danish":"da","isi-dutch":"nl","isi-english":"en","isi-esperanto":"eo","isi-estonian":"et","isi-finnish":"fi","isi-french":"fr","isi-galician":"gl","isi-german":"de","isi-greek":"el","isi-haitian creole":"ht","isi-hangarian":"hu","isi-hebrew":"he","isi-hindi":"hi","isi-icelandic":"is","isi-indonesian":"id","isi-irish":"ga","isi-italian":"it","isi-japanese":"ja","isi-kannada":"kn","isi-korean":"ko","isi-kurdish":"ku","isi-latin":"la","isi-latvian":"lv","isi-lithuanian":"lt","isi-macedonian":"mk","isi-malay":"ms","isi-malayalam":"ml","isi-maltese":"mt","isi-maori":"mi","isi-marathi":"mr","isi-mongolian":"mn","isi-norwegian":"nb","isi-persian":"fa","isi-polish":"pl","isi-portuguese":"pt","isi-romanian":"ro","isi-russian":"ru","isi-scots gaelic":"gd","isi-serbian":"sr","isi-slovak":"sk","isi-slovenian":"sl","isi-spanish":"es","isi-swedish":"sv","isi-telugu":"te","isi-thai":"th","isi-turkish":"tr","isi-ukrainian":"uk","isi-uzbek":"uz","isi-vietnamese":"vi","isi-welsh":"cy","isizulu":"zu","albania":"sq","armenia":"hy","azerbaijan":"az","belanda":"nl","belarus":"be","bulgaria":"bg","cina (mudah)":"zh-cn","cina (tradisional)":"zh-tw","croatia":"hr","denmark":"da","estonia":"et","finland":"fi","gaelic scotland":"gd","galicia":"gl","hungary":"hu","ibrani":"he","iceland":"is","indonesia":"id","inggeris":"en","ireland":"ga","itali":"it","jepun":"ja","jerman":"de","korea":"ko","kreol haiti":"ht","kurdistan":"ku","latvia":"lv","lithuania":"lt","macedonia":"mk","malta":"mt","melayu":"ms","mongolia":"mn","myanmar":"my","norway":"nb","parsi":"fa","perancis":"fr","poland":"pl","portugis":"pt","romania":"ro","rusia":"ru","sepanyol":"es","serbia":"sr","slovenia":"sl","sweden":"sv","turki":"tr","ukraine":"uk","vietnam":"vi","wales":"cy","азербайджанский":"az","албанский":"sq","амхарский":"am","английский":"en","арабский":"ar","армянский":"hy","баскский":"eu","белорусский":"be","бирманский":"my","болгарский":"bg","валлийский":"cy","венгерский":"hu","вьетнамский":"vi","галисийский":"gl","греческий":"el","датский":"da","иврит":"he","индонезийский":"id","ирландский":"ga","исландский":"is","испанский":"es","итальянский":"it","каталанский":"ca","китайский (традиционный)":"zh-tw","китайский (упрощенный)":"zh-cn","корейский":"ko","креольский (гаити)":"ht","курманджи":"ku","латинский":"la","латышский":"lv","литовский":"lt","македонский":"mk","малайский":"ms","мальтийский":"mt","маори":"mi","монгольский":"mn","немецкий":"de","нидерландский":"nl","норвежский":"nb","персидский":"fa","польский":"pl","португальский":"pt","румынский":"ro","русский":"ru","сербский":"sr","словацкий":"sk","словенский":"sl","тайский":"th","турецкий":"tr","узбекский":"uz","украинский":"uk","финский":"fi","французский":"fr","хинди":"hi","хорватский":"hr","чешский":"cs","шведский":"sv","шотландский (гэльский)":"gd","эсперанто":"eo","эстонский":"et","японский":"ja","albański":"sq","amharski":"am","angielski":"en","arabski":"ar","azerski":"az","baskijski":"eu","białoruski":"be","birmański":"my","bułgarski":"bg","chiński (tradycyjny)":"zh-tw","chiński (uproszczony)":"zh-cn","chorwacki":"hr","czeski":"cs","duński":"da","estoński":"et","fiński":"fi","francuski":"fr","galicyjski":"gl","grecki":"el","hebrajski":"he","hiszpański":"es","indonezyjski":"id","irlandzki":"ga","islandzki":"is","japoński":"ja","kataloński":"ca","koreański":"ko","kreolski (haiti)":"ht","kurdyjski":"ku","litewski":"lt","łaciński":"la","łotewski":"lv","macedoński":"mk","malajalam":"ml","malajski":"ms","maltański":"mt","mongolski":"mn","niderlandzki":"nl","niemiecki":"de","norweski":"nb","ormiański":"hy","perski":"fa","polski":"pl","portugalski":"pt","rosyjski":"ru","rumuński":"ro","serbski":"sr","słowacki":"sk","słoweński":"sl","szkocki gaelicki":"gd","szwedzki":"sv","tajski":"th","turecki":"tr","ukraiński":"uk","uzbecki":"uz","walijski":"cy","węgierski":"hu","wietnamski":"vi","włoski":"it","азербайджанская":"az","албанская":"sq","амхарская":"am","англійская":"en","арабская":"ar","армянская":"hy","балгарская":"bg","баскская":"eu","беларуская":"be","в\'етнамская":"vi","валійская":"cy","венгерская":"hu","гаіцянская крэольская":"ht","галандская":"nl","галісійская":"gl","грэчаская":"el","дацкая":"da","інданезійская":"id","ірландская":"ga","ісландская":"is","іспанская":"es","італьянская":"it","іўрыт":"he","карэйская":"ko","каталонская":"ca","кітайская (спрошчаная)":"zh-cn","кітайская (традыцыйная)":"zh-tw","курдская (курманджы)":"ku","латышская":"lv","лацінская":"la","літоўская":"lt","м\'янманская (бірманская)":"my","маары":"mi","македонская":"mk","малайская":"ms","мальтыйская":"mt","мангольская":"mn","нарвежская":"nb","нямецкая":"de","партугальская":"pt","персідская":"fa","польская":"pl","румынская":"ro","руская":"ru","сербская":"sr","славацкая":"sk","славенская":"sl","тайская":"th","турэцкая":"tr","тэлугу":"te","узбекская":"uz","украінская":"uk","фінская":"fi","французская":"fr","харвацкая":"hr","хіндзі":"hi","чэшская":"cs","шатландская гэльская":"gd","шведская":"sv","эсперанта":"eo","эстонская":"et","японская":"ja","amarikisht":"am","anglisht":"en","arabisht":"ar","armenisht":"hy","azerisht":"az","baskisht":"eu","birmanisht":"my","bjellorusisht":"be","bullgarisht":"bg","çekisht":"cs","danisht":"da","estonisht":"et","finlandisht":"fi","frëngjisht":"fr","galicianisht":"gl","galishte skoceze":"gd","greqisht":"el","gjermanisht":"de","hebraisht":"he","hindisht":"hi","holandisht":"nl","hungarisht":"hu","indonezisht":"id","irlandisht":"ga","islandisht":"is","italisht":"it","japonisht":"ja","kanada":"kn","katalonisht":"ca","kinezisht (e thjeshtuar)":"zh-cn","kinezisht (tradicionale)":"zh-tw","koreanisht":"ko","kreolishte haitiane":"ht","kroatisht":"hr","latinisht":"la","letonisht":"lv","lituanisht":"lt","malajalamisht":"ml","malajzisht":"ms","malteze":"mt","maorisht":"mi","maqedonisht":"mk","maratisht":"mr","mongolisht":"mn","norvegjisht":"nb","persisht":"fa","polonisht":"pl","portugalisht":"pt","rumanisht":"ro","rusisht":"ru","serbisht":"sr","sllovakisht":"sk","sllovenisht":"sl","spanjisht":"es","suedisht":"sv","shqip":"sq","tajlandisht":"th","telugisht":"te","turqisht":"tr","uellsisht":"cy","ukrainisht":"uk","uzbekisht":"uz","vietnamisht":"vi","ሀንጋሪኛ":"hu","ህንድኛ":"hi","ሊትዌንኛ":"lt","ላቲንኛ":"la","ላትቪያኛ":"lv","ማላያላምኛ":"ml","ማላይኛ":"ms","ማልቲስኛ":"mt","ማራቲኛ":"mr","ማዮሪኛ":"mi","ሜቄዶኒያኛ":"mk","ሞንጎሊያኛ":"mn","ራሽያኛ":"ru","ሮማኒያንኛ":"ro","ሰርቢያኛ":"sr","ስሎቫክኛ":"sk","ስሎቬንያኛ":"sl","ስዊድንኛ":"sv","ስፓኒሽኛ":"es","በርማኛ":"my","ቡልጋሪያኛ":"bg","ባስክኛ":"eu","ቤላሩስኛ":"be","ቪትናምኛ":"vi","ቱርክኛ":"tr","ታይኛ":"th","ቴሉጉኛ":"te","ቻይንኛ (ቀላሉ)":"zh-cn","ቻይንኛ (ባሕላዊው)":"zh-tw","ቼክኛ":"cs","ኖርዌጅያንኛ":"nb","አልባንያኛ":"sq","አማርኛ":"am","አርመኒያኛ":"hy","አዜርባይጃንኛ":"az","አይሪሽ":"ga","አይስላንድኛ":"is","ኡዝቤክኛ":"uz","ኤስቶኒያኛ":"et","ኤስፐራንቶ":"eo","እንዶኔዢያኛ":"id","እንግሊዝኛ":"en","ኩርድሽኛ":"ku","ካታላንኛ":"ca","ካናዳኛ":"kn","ክሮኤሽያኛ":"hr","ኮሪያኛ":"ko","ዌልሽ":"cy","ዐረብኛ":"ar","ዕብራይስጥ":"he","ዙሉኛ":"zu","የሃይቲ ክረኦሌኛ":"ht","የስኮት ጌልክኛ":"gd","ዩክሬንኛ":"uk","ደችኛ":"nl","ዴንሽኛ":"da","ጀርመንኛ":"de","ጃፓንኛ":"ja","ጋሊሺያኛ":"gl","ግሪክኛ":"el","ጣሊያንኛ":"it","ፈረንሳይኛ":"fr","ፊኒሽኛ":"fi","ፐርሺያኛ":"fa","ፖሊሽኛ":"pl","ፖርቱጋሊኛ":"pt","alban":"sq","alman":"de","amarikcə":"am","azərbaycan dili":"az","bask":"eu","belarusca":"be","bolqar":"bg","çex":"cs","çin (ən\'ənəvi)":"zh-tw","çin (sadələşdirilmiş)":"zh-cn","danimarka":"da","erməni":"hy","eston":"et","ərəb":"ar","fars dili":"fa","fin":"fi","fransız":"fr","haiti kreol dili":"ht","hind":"hi","xorvat":"hr","ispan":"es","i̇ndoneziya":"id","i̇ngilis":"en","i̇rland":"ga","i̇sland":"is","i̇sveç":"sv","i̇talyan":"it","i̇vrit":"he","katalan":"ca","koreya":"ko","kürd dili (kurmanci)":"ku","qalisian":"gl","latın":"la","latış":"lv","litva":"lt","macar":"hu","makedoniya":"mk","maoricə":"mi","monqolca":"mn","myanma (birma) dili":"my","norveç":"nb","özbək":"uz","polyak":"pl","portuqal":"pt","rumın":"ro","rus":"ru","serb":"sr","sloven":"sl","şotland (kelt)":"gd","tayca":"th","teluqu":"te","türk":"tr","uels":"cy","ukrayna":"uk","vyetnam":"vi","yapon":"ja","yunan":"el","zulu dili":"zu","albaniż":"sq","amħari":"am","armen":"hy","ażerbajġani":"az","belarussu":"be","bulgaru":"bg","ċek":"cs","ċiniż (semplifikat)":"zh-cn","ċiniż (tradizzjonali)":"zh-tw","creole haiti":"ht","daniż":"da","ebrajk":"he","estonjan":"et","finlandiż":"fi","franċiż":"fr","ġappuniż":"ja","ġermaniż":"de","gaelic tal-iskoċċiżi":"gd","galizjan":"gl","grieg":"el","għarbi":"ar","ħindi":"hi","indoneżjan":"id","ingliż":"en","irlandiż":"ga","islandiż":"is","kroat":"hr","kurd (kurmanji)":"ku","latvjan":"lv","litwen":"lt","maċedonjan":"mk","malasjan":"ms","malti":"mt","marati":"mr","mjanmar (burma)":"my","mongoljan":"mn","norveġiż":"nb","olandiż":"nl","persjan":"fa","pollakk":"pl","portugiż":"pt","rumen":"ro","russu":"ru","slovakk":"sk","spanjol":"es","svediż":"sv","tajlandiż":"th","taljan":"it","tork":"tr","ukren":"uk","ungeriż":"hu","użbek":"uz","vjetnamiż":"vi","żulu":"zu","albanski":"sq","amharik":"am","arapski":"ar","armenijski":"hy","azerbajdžanski":"az","bjeloruski":"be","bugarski":"bg","burmanski":"my","češki":"cs","danski":"da","engleski":"en","estonski":"et","finski":"fi","galski":"gl","grčki":"el","haićansko-kreolski":"ht","hebrejski":"he","hindu":"hi","hrvatski":"hr","indonezijski":"id","irski":"ga","islandski":"is","japanski":"ja","katalonski":"ca","kineski (pojednost.)":"zh-cn","kineski (tradicionalni)":"zh-tw","korejski":"ko","kurdski":"ku","latinski":"la","latvijski/letonski":"lv","litvanski":"lt","mađarski":"hu","makedonski":"mk","malezijski":"ms","malteški":"mt","nizozemski":"nl","norveški":"nb","njemački":"de","perzijski":"fa","poljski":"pl","rumunjski":"ro","ruski":"ru","slovački":"sk","slovenski":"sl","srpski":"sr","škotski keltski":"gd","španjolski":"es","švedski":"sv","tajlandski":"th","talijanski":"it","turski":"tr","ukrajinski":"uk","uzbekistanski":"uz","velški":"cy","vijetnamski":"vi","آذرباﻳﺠﺎﻧﻰ":"az","آلبانیایی":"sq","آلمانی":"de","ارمنی":"hy","ازبکی":"uz","اسپانیایی":"es","اسپرانتو":"eo","استونيايی":"et","اسلواکی":"sk","اسلونیایی":"sl","اکراينی":"uk","امهری":"am","اندونزيايی":"id","انگلیسی":"en","ایتالیایی":"it","ایرلندی":"ga","ايسلندی":"is","باسکی":"eu","برمه‌ای":"my","بلاروسی":"be","بلغاری":"bg","پرتغالی":"pt","تايلندی":"th","ترکی استانبولی":"tr","تلوگو":"te","چک":"cs","چینی (ساده‌شده)":"zh-cn","چینی (سنتی)":"zh-tw","دانمارکی":"da","روسی":"ru","رومانيايی":"ro","زولو":"zu","ژاپنی":"ja","سوئدی":"sv","صربی":"sr","عبری":"he","عربی":"ar","فارسی":"fa","فرانسوی":"fr","فنلاندی":"fi","کاتالان":"ca","کانارا":"kn","کرئول هائیتی":"ht","کردی":"ku","کرواتی":"hr","کره‌ای":"ko","گالیسی":"gl","گاليک اسکاتلندی":"gd","لاتين":"la","لتونيايی":"lv","لهستانی":"pl","ليتوانيايی":"lt","مائوری":"mi","مالایالمی":"ml","مالايی":"ms","مالتی":"mt","مجاری":"hu","مراتی":"mr","مغولی":"mn","مقدونيه‌ای":"mk","نروژی":"nb","ولزی":"cy","ويتنامی":"vi","هلندی":"nl","هندی":"hi","يونانی":"el","ahepaitani":"az","airihi":"ga","amariki":"am","amēniana":"hy","arapeinia":"sq","arapi":"ar","eperānato":"eo","etōnia":"et","haina (onamata)":"zh-tw","hainamana (kua whakamāmātia)":"zh-cn","hanekeria":"hu","hapanihi":"ja","herepia":"sr","hinerangi":"fi","hīni":"hi","hiperu":"he","horowākia":"sk","horowinia":"sl","huitene":"sv","huru":"zu","ingarihi":"en","initonīhia":"id","itāriana":"it","kanata":"kn","karihia":"gl","katarāna":"ca","kereore haiti":"ht","kiriki":"el","kōreana":"ko","koroātiana":"hr","korukoru":"tr","kūrihi":"ku","makerōnia":"mk","māratihi":"mt","marei":"ms","mareiarama":"ml","mongōriana":"mn","nōwei":"nb","pākihi":"eu","pāniora":"es","pēma (purumīhi)":"my","peraruhia":"be","perēhia":"fa","pōrana":"pl","potukīhi":"pt","purukāriana":"bg","rātini":"la","rāwhiana":"lv","rituānia":"lt","romānia":"ro","rūhia":"ru","tai":"th","tati":"nl","tenemāka":"da","teruku":"te","tiamana":"de","tieke":"cs","tiorangi":"is","tuauri kotarangi":"gd","uhipeke":"uz","ūkareiana":"uk","wēra":"cy","whitināmu":"vi","wīwī":"fr","αγγλικά":"en","αζερμπαϊτζανικά":"az","αλβανικά":"sq","αμχαρικά":"am","αραβικά":"ar","αρμενικά":"hy","βασκικά":"eu","βιετναμεζικά":"vi","βιρμανικά":"my","βουλγαρικά":"bg","γαελικά σκοτίας":"gd","γαλικιακά":"gl","γαλλικά":"fr","γερμανικά":"de","δανικά":"da","εβραϊκά":"he","ελληνικά":"el","εσθονικά":"et","εσπεράντο":"eo","ζουλού":"zu","ιαπωνικά":"ja","ινδονησιακά":"id","ιρλανδικά":"ga","ισλανδικά":"is","ισπανικά":"es","ιταλικά":"it","κανάντα":"kn","καταλανικά":"ca","κινέζικα (απλοποιημένα)":"zh-cn","κινέζικα (παραδοσιακά)":"zh-tw","κορεατικά":"ko","κουρδικά":"ku","κρεόλ αϊτής":"ht","κροατικά":"hr","λατινικά":"la","λετονικά":"lv","λευκορωσικά":"be","λιθουανικά":"lt","μαλαγιάλαμ":"ml","μαλέι":"ms","μαλτεζικά":"mt","μαορί":"mi","μαραθικά":"mr","μογγολικά":"mn","νορβηγικά":"nb","ολλανδικά":"nl","ουαλικά":"cy","ουγγρικά":"hu","ουζμπεκικά":"uz","ουκρανικά":"uk","περσικά":"fa","πολωνικά":"pl","πορτογαλικά":"pt","ρουμανικά":"ro","ρωσικά":"ru","σερβικά":"sr","σλαβομακεδονικά":"mk","σλοβακικά":"sk","σλοβενικά":"sl","σουηδικά":"sv","ταϊλανδεζικά":"th","τελούγκου":"te","τούρκικα":"tr","τσεχικά":"cs","φινλανδικά":"fi","χίντι":"hi","amxar":"am","arman":"hy","bolgar":"bg","dat":"da","fors":"fa","fransuz":"fr","gaiti-kreol":"ht","galisiy":"gl","golland":"nl","grek":"el","ibroniy":"he","indonez":"id","ingliz":"en","irland":"ga","island":"is","italyan":"it","koreys":"ko","kurd (kurmonji)":"ku","latish":"lv","lotin":"la","makedon":"mk","maltiy":"mt","maratxi":"mr","mo‘g‘ul":"mn","nemis":"de","norveg":"nb","ozarbayjon":"az","portugal":"pt","rumin":"ro","tay":"th","turk":"tr","ukrain":"uk","valliy":"cy","venger":"hu","xitoy (an’anaviy)":"zh-tw","xitoy (soddalashgan)":"zh-cn","o‘zbek":"uz","shotland-gel":"gd","shved":"sv","chex":"cs","albanska":"sq","amharísku":"am","arabíska":"ar","armenska":"hy","aserska":"az","baskneska":"eu","búlgarska":"bg","búrmíska":"my","danska":"da","eistneska":"et","enska":"en","esperantó":"eo","finnska":"fi","franska":"fr","galisíska":"gl","gríska":"el","haítískt kreólamál":"ht","hebreska":"he","hindí":"hi","hollenska":"nl","hvítrússneska":"be","indónesíska":"id","írska":"ga","íslenska":"is","ítalska":"it","japanska":"ja","katalónska":"ca","kínverska (einfölduð)":"zh-cn","kínverska (hefðbundin)":"zh-tw","kóreska":"ko","króatíska":"hr","kúrdíska":"ku","latína":"la","lettneska":"lv","litháíska":"lt","makedónska":"mk","malajíska":"ms","maltneska":"mt","maoríska":"mi","maratí":"mr","mongólska":"mn","norska":"nb","persneska":"fa","portúgalska":"pt","pólska":"pl","rúmenska":"ro","rússneska":"ru","serbneska":"sr","skosk-gelíska":"gd","slóvakíska":"sk","slóvenska":"sl","spænska":"es","súlú":"zu","sænska":"sv","taílenska":"th","tékkneska":"cs","tyrkneska":"tr","ungverska":"hu","úkraínska":"uk","úsbekíska":"uz","velska":"cy","víetnamska":"vi","þýska":"de","ադրբեջաներեն":"az","ալբաներեն":"sq","ամհարերեն":"am","անգլերեն":"en","արաբերեն":"ar","բասկերեն":"eu","բելառուսերեն":"be","բիրմաներեն":"my","բուլղարերեն":"bg","գալիսերեն":"gl","գերմաներեն":"de","դանիերեն":"da","եբրայերեն":"he","զուլուսերեն":"zu","էսպերանտո":"eo","էստոներեն":"et","թայերեն":"th","թուրքերեն":"tr","ինդոնեզերեն":"id","իռլանդերեն":"ga","իսլանդերեն":"is","իսպաներեն":"es","իտալերեն":"it","լատիներեն":"la","լատվիերեն":"lv","լեհերեն":"pl","լիտվերեն":"lt","խորվաթերեն":"hr","կաննադա":"kn","կատալաներեն":"ca","կելտական շոտլանդերեն":"gd","կորեերեն":"ko","կրեոլերեն (հայիթի)":"ht","հայերեն":"hy","հինդի":"hi","հոլանդերեն":"nl","հունարեն":"el","հունգարերեն":"hu","ճապոներեն":"ja","մալայալամ":"ml","մալայերեն":"ms","մալթերեն":"mt","մակեդոներեն":"mk","մաորի":"mi","մարաթի":"mr","մոնղոլերեն":"mn","նորվեգերեն":"nb","շվեդերեն":"sv","ուզբեկերեն":"uz","ուկրաիներեն":"uk","չեխերեն":"cs","չինարեն (ավանդական)":"zh-tw","չինարեն (պարզեցված)":"zh-cn","պարսկերեն":"fa","պորտուգալերեն":"pt","ռումիներեն":"ro","ռուսերեն":"ru","սերբերեն":"sr","սլովակերեն":"sk","սլովեներեն":"sl","վալերեն":"cy","վիետնամերեն":"vi","տելուգու":"te","քրդերեն (քուրմանջի)":"ku","ֆիններեն":"fi","ֆրանսերեն":"fr","arabia":"ar","baski":"eu","burma":"my","englanti":"en","espanja":"es","haitinkreoli":"ht","heprea":"he","hollanti":"nl","iiri":"ga","islanti":"is","italia":"it","japani":"ja","katalaani":"ca","kiina (perinteinen)":"zh-tw","kiina (yksinkert.)":"zh-cn","kreikka":"el","kroatia":"hr","kurdi":"ku","kymri":"cy","liettua":"lt","makedonia":"mk","malaiji":"ms","norja":"nb","persia":"fa","portugali":"pt","puola":"pl","ranska":"fr","ruotsi":"sv","saksa":"de","skottigaeli":"gd","slovakia":"sk","suomi":"fi","tanska":"da","tsekki":"cs","turkki":"tr","ukraina":"uk","unkari":"hu","uzbekki":"uz","valkovenäjä":"be","venäjä":"ru","viro":"et","albaniera":"sq","alemana":"de","amharera":"am","arabiera":"ar","armeniera":"hy","azerbaijanera":"az","bielorrusiera":"be","birmaniera":"my","bulgariera":"bg","daniera":"da","errumaniera":"ro","errusiera":"ru","eskoziako gaelera":"gd","eslovakiera":"sk","esloveniera":"sl","esperantoa":"eo","estoniera":"et","euskara":"eu","frantsesa":"fr","gaelera":"cy","galiziera":"gl","gaztelania":"es","greziera":"el","hebreera":"he","hindia":"hi","hungariera":"hu","indonesiera":"id","ingelesa":"en","irlandera":"ga","islandiera":"is","italiera":"it","japoniera":"ja","katalana":"ca","koreera":"ko","kreolera (haiti)":"ht","kroaziera":"hr","kurduera":"ku","letoniera":"lv","lituaniera":"lt","malabarera":"ml","malaysiera":"ms","maltera":"mt","maoriera":"mi","marathera":"mr","mazedoniera":"mk","mongoliera":"mn","nederlandera":"nl","norvegiera":"nb","persiera":"fa","poloniera":"pl","portugesa":"pt","serbiera":"sr","suediera":"sv","suomiera":"fi","telugua":"te","thaiera":"th","turkiera":"tr","txekiera":"cs","txinera (soildua)":"zh-cn","txinera (tradizionala)":"zh-tw","ukrainera":"uk","uzbekera":"uz","vietnamera":"vi","zuluera":"zu","albanès":"sq","alemany":"de","amhàric":"am","anglès":"en","àrab":"ar","armeni":"hy","àzeri":"az","basc":"eu","bielorús":"be","birmà":"my","búlgar":"bg","castellà":"es","català":"ca","coreà":"ko","crioll d\'haití":"ht","croat":"hr","danès":"da","eslovac":"sk","eslovè":"sl","estonià":"et","finès":"fi","francès":"fr","gaèlic escocès":"gd","gallec":"gl","gal·lès":"cy","hebreu":"he","hongarès":"hu","indonesi":"id","irlandès":"ga","islandès":"is","italià":"it","japonès":"ja","letó":"lv","lituà":"lt","llatí":"la","macedònic":"mk","malai":"ms","malaiàlam":"ml","maltès":"mt","neerlandès":"nl","noruec":"nb","polonès":"pl","portuguès":"pt","romanès":"ro","serbi":"sr","suec":"sv","txec":"cs","ucraïnès":"uk","xinès (simplificat)":"zh-cn","xinès (tradicional)":"zh-tw","albāņu":"sq","amharu":"am","angļu":"en","arābu":"ar","armēņu":"hy","azerbaidžāņu":"az","baltkrievu":"be","basku":"eu","birmiešu":"my","bulgāru":"bg","čehu":"cs","dāņu":"da","ebreju (ivrits)":"he","franču":"fr","galisiešu":"gl","grieķu":"el","holandiešu":"nl","horvātu":"hr","igauņu":"et","indonēziešu":"id","īru":"ga","īslandiešu":"is","itāļu":"it","japāņu":"ja","katalāņu":"ca","korejiešu":"ko","kreolu (haiti)":"ht","krievu":"ru","kurdu":"ku","ķīniešu (tradicionālā)":"zh-tw","ķīniešu (vienkāršotā)":"zh-cn","latīņu":"la","latviešu":"lv","lietuviešu":"lt","maķedoniešu":"mk","malajalamiešu":"ml","malajiešu":"ms","maltiešu":"mt","maratu":"mr","mongoļu":"mn","norvēģu":"nb","persiešu":"fa","poļu":"pl","portugāļu":"pt","rumāņu":"ro","serbu":"sr","skotu gēlu":"gd","slovāku":"sk","slovēņu":"sl","somu":"fi","spāņu":"es","taju":"th","turku":"tr","ukraiņu":"uk","ungāru":"hu","uzbeku":"uz","vācu":"de","velsiešu":"cy","vjetnamiešu":"vi","zviedru":"sv","belarussia":"be","cek":"cs","china (aks. sederhana)":"zh-cn","china (aks. tradisional)":"zh-tw","finlandia":"fi","gaelig":"ga","gaelik skotlandia":"gd","galisia":"gl","inggris":"en","islan":"is","jepang":"ja","katala":"ca","lituania":"lt","polandia":"pl","prancis":"fr","rumania":"ro","swensk":"sv","yunani":"el","అజర్‌బైజాని":"az","అర్మేనియన్":"hy","అల్బేనియన్":"sq","ఆంగ్లము":"en","ఆమ్హారిక్":"am","ఆరబిక్":"ar","ఇండొనేసియన్":"id","ఇటాలియన్":"it","ఉజ్బెక్":"uz","ఎస్పెరాంటో":"eo","ఏస్టోనియన్":"et","ఐరిష్":"ga","ఐస్ లాండిక్":"is","కన్నడ":"kn","కర్డిష్":"ku","కొరియన్":"ko","క్యాటలాన్":"ca","క్రొయేషియన్":"hr","గాలిసియన్":"gl","గ్రీక్":"el","చెక్":"cs","చైనీస్ (సరళమైన)":"zh-cn","చైనీస్ (సామ్ప్రదాయమైన)":"zh-tw","జపనీస్":"ja","జర్మన్":"de","జులు":"zu","టర్కిష్":"tr","డచ్":"nl","డానిష్":"da","తెలుగు":"te","థాయ్":"th","నార్విజియన్":"nb","పర్షియన్":"fa","పోర్చుగీస్":"pt","పోలిష్":"pl","ఫిన్నిష్":"fi","ఫ్రెంచ్":"fr","బర్మీస్":"my","బల్గేరియన్":"bg","బాస్క్":"eu","బెలారుషియన్":"be","మంగోలియన్":"mn","మయోరి":"mi","మరాఠీ":"mr","మలయాళం":"ml","మాలై":"ms","మాల్టీస్":"mt","మాసిడోనియన్":"mk","యుక్రేనియన్":"uk","రష్యన్":"ru","రొమేనియన్":"ro","లాటిన్":"la","లాట్వియన్":"lv","లిథువేనియన్":"lt","వియత్నామీస్":"vi","వెల్ష్":"cy","సెర్బియన్":"sr","స్కాట్స్ గేలిక్":"gd","స్పానిష్":"es","స్లోవక్":"sk","స్లోవేనియన్":"sl","స్వీడిష్":"sv","హంగేరియన్":"hu","హిందీ":"hi","హీబ్రూ":"he","హైయేటియన్ క్రియోల్":"ht","amhárico":"am","azerí":"az","chino (simplificado)":"zh-cn","chino (tradicional)":"zh-tw","criollo haitiano":"ht","danés":"da","estonio":"et","euskera":"eu","finlandés":"fi","gallego":"gl","griego":"el","japonés":"ja","kurdo":"ku","malayo":"ms","noruego":"nb","rumano":"ro","uzbeco":"uz","albaania":"sq","amhaari":"am","araabia":"ar","armeenia":"hy","aserbaidžaani":"az","birma":"my","bulgaaria":"bg","eesti":"et","galeegi":"gl","haitikreooli":"ht","heebrea":"he","hispaania":"es","hollandi":"nl","horvaadi":"hr","indoneesia":"id","inglise":"en","islandi":"is","itaalia":"it","jaapani":"ja","kreeka":"el","ladina":"la","leedu":"lt","lihtsustatud hiina":"zh-cn","läti":"lv","makedoonia":"mk","malajalaami":"ml","maoori":"mi","mongoli":"mn","norra":"nb","poola":"pl","prantsuse":"fr","pärsia":"fa","rootsi":"sv","rumeenia":"ro","slovaki":"sk","sloveeni":"sl","soome":"fi","suulu":"zu","šoti":"gd","taani":"da","traditsiooniline hiina":"zh-tw","tšehhi":"cs","türgi":"tr","uelsi":"cy","ungari":"hu","usbeki":"uz","valgevene":"be","vene":"ru","albanyen":"sq","amenyen":"hy","anglè":"en","azèbajani":"az","belarisyen":"be","bilgaryen":"bg","chinwa (senp)":"zh-cn","chinwa (tradisyonèl)":"zh-tw","danwa":"da","ebre":"he","endonezyen":"id","endou":"hi","estonyen":"et","fenlandè":"fi","franse":"fr","gaelik ekosè":"gd","galisyen":"gl","grèk":"el","ikrenyen":"uk","ilandè":"ga","islandè":"is","italyen":"it","izbèk":"uz","japonè":"ja","koreyen":"ko","kreyòl ayisyen":"ht","kurde (kurmandji)":"ku","kwoasyen":"hr","laten":"la","letonyen":"lv","lityanyen":"lt","malè":"ms","malt":"mt","masedonyen":"mk","mongolyen":"mn","myanma (burmese)":"my","nòvejyen":"nb","olandè, neyèlandè":"nl","onngaryen":"hu","panyòl":"es","pèsyen":"fa","polonè":"pl","pòtigè":"pt","ris":"ru","romanyen":"ro","sèb":"sr","slovenyen":"sl","syedwa":"sv","tuk":"tr","tyèk":"cs","vyetnamyen":"vi","albaneg":"sq","almaeneg":"de","arabeg":"ar","armeneg":"hy","aserbaijaneg":"az","basgeg":"eu","belarwseg":"be","bwlgaraidd":"bg","catalaneg":"ca","creol haiti":"ht","croateg":"hr","cymraeg":"cy","cyrdeg (kurmandji)":"ku","daneg":"da","eidaleg":"it","estoneg":"et","fietnameg":"vi","ffineg":"fi","fflemeg":"nl","ffrangeg":"fr","gaeleg yr alban":"gd","galisaidd":"gl","groeg":"el","gwyddeleg":"ga","hebraeg":"he","hwngareg":"hu","iaith corea":"ko","indonesieg":"id","islandeg":"is","iwcraineg":"uk","japaneg":"ja","latfieg":"lv","lithwaneg":"lt","lladin":"la","macedoneg":"mk","malteseg":"mt","mongoleg":"mn","myanmar (byrma)":"my","norwyeg":"nb","perseg":"fa","portiwgaleg":"pt","pwyleg":"pl","rwmaneg":"ro","rwsieg":"ru","saesneg":"en","sbaeneg":"es","serbeg":"sr","slofac":"sk","slofenia":"sl","swedeg":"sv","swlw":"zu","tsieceg":"cs","tsieineeg (traddodiadol)":"zh-tw","tsieineeg (wedi symleiddio)":"zh-cn","twrceg":"tr","usbec":"uz","अंग्रेज़ी":"en","अज़रबैजानी":"az","अल्बेनियन":"sq","आइसलैंडिक":"is","आर्मेनियन":"hy","इटैलियन":"it","उज़्बेक":"uz","एस्तोनियन":"et","एस्पेरांटो":"eo","ऐम्हेरिक":"am","कन्नड़":"kn","कुर्दिश (करमंजी)":"ku","कैटेलन":"ca","गैलिशियन":"gl","चीनी (परंपरागत)":"zh-tw","चेक":"cs","जापानी":"ja","ज़ुलु":"zu","डैनिश":"da","तुर्क":"tr","तेलुगु":"te","पुर्तगाली":"pt","फ़िनिश":"fi","फ़्रेंच":"fr","बर्मी":"my","बुल्गारियन":"bg","बेलारूसीयन":"be","बैस्क":"eu","मलयालम":"ml","माऔरी":"mi","माल्टी":"mt","मेसीडोनियन":"mk","यूक्रेनियन":"uk","रूसी":"ru","रोमेनियन":"ro","लातवियन":"lv","लैटिन":"la","वियतनामी":"vi","सर्बियाई":"sr","स्पैनिश":"es","स्लोवाक":"sk","स्लोवेनियन":"sl","हंगरियन":"hu","हीब्रू":"he","हैतियन क्रिओल":"ht","阿尔巴尼亚语":"sq","阿拉伯语":"ar","阿姆哈拉语":"am","阿塞拜疆语":"az","爱尔兰语":"ga","爱沙尼亚语":"et","巴斯克语":"eu","白俄罗斯语":"be","保加利亚语":"bg","冰岛语":"is","波兰语":"pl","波斯语":"fa","丹麦语":"da","德语":"de","俄语":"ru","法语":"fr","芬兰语":"fi","海地克里奥尔语":"ht","韩语":"ko","荷兰语":"nl","加利西亚语":"gl","加泰罗尼亚语":"ca","捷克语":"cs","卡纳达语":"kn","克罗地亚语":"hr","库尔德语":"ku","拉丁语":"la","拉脱维亚语":"lv","立陶宛语":"lt","罗马尼亚语":"ro","马耳他语":"mt","马拉地语":"mr","马拉雅拉姆语":"ml","马来语":"ms","马其顿语":"mk","毛利语":"mi","蒙古语":"mn","缅甸语":"my","南非祖鲁语":"zu","挪威语":"nb","葡萄牙语":"pt","日语":"ja","瑞典语":"sv","塞尔维亚语":"sr","世界语":"eo","斯洛伐克语":"sk","斯洛文尼亚语":"sl","苏格兰盖尔语":"gd","泰卢固语":"te","泰语":"th","土耳其语":"tr","威尔士语":"cy","乌克兰语":"uk","乌兹别克语":"uz","西班牙语":"es","希伯来语":"he","希腊语":"el","匈牙利语":"hu","亚美尼亚语":"hy","意大利语":"it","印地语":"hi","印尼语":"id","英语":"en","越南语":"vi","中文(繁体)":"zh-tw","中文(简体)":"zh-cn","азербайджански":"az","английски":"en","арабски":"ar","арменски":"hy","баски":"eu","беларуски":"be","бирмански":"my","български":"bg","галисийски":"gl","гръцки":"el","датски":"da","индонезийски":"id","ирландски":"ga","испански":"es","италиански":"it","китайски (опростен)":"zh-cn","китайски (традиционен)":"zh-tw","корейски":"ko","кюрдски":"ku","латвийски":"lv","литовски":"lt","малайски":"ms","малтийски":"mt","немски":"de","нидерландски":"nl","норвежки":"nb","персийски":"fa","румънски":"ro","словашки":"sk","словенски":"sl","сръбски":"sr","тайландски":"th","уелски":"cy","узбекски":"uz","финландски":"fi","френски":"fr","хаитянски креолски":"ht","хърватски":"hr","шотландски келтски":"gd","японски":"ja","الآيسلندية":"is","الأذرية":"az","الارمنية":"hy","الإسبانية":"es","الاسبرانتو":"eo","الإستونية":"et","الاسكتلندية الغالية":"gd","الألبانية":"sq","الألمانية":"de","الأمهرية":"am","الإنجليزية":"en","الإندونيسية":"id","الأوزبكية":"uz","الأوكرانية":"uk","الأيرلندية":"ga","الإيطالية":"it","الباسكية":"eu","البرتغالية":"pt","البلغارية":"bg","البورمية":"my","البولندية":"pl","البيلاروسية":"be","التايلاندية":"th","التركية":"tr","التشيكية":"cs","التيلوجو":"te","الجاليكية":"gl","الدانماركية":"da","الروسية":"ru","الرومانية":"ro","الزولوية":"zu","السلوفاكية":"sk","السلوفينية":"sl","السويدية":"sv","الصربية":"sr","الصينية (التقليدية)":"zh-tw","الصينية (المبسطة)":"zh-cn","العبرية":"he","العربية":"ar","الفارسية":"fa","الفرنسية":"fr","الفنلندية":"fi","الفيتنامية":"vi","القطلونية":"ca","الكانادا":"kn","الكردية":"ku","الكرواتية":"hr","الكورية":"ko","اللاتفية":"lv","اللاتينية":"la","اللغة الكريولية الهايتية":"ht","الليتوانية":"lt","المالايالامية":"ml","المالطيّة":"mt","الماورية":"mi","المقدونية":"mk","الملايو":"ms","المنغولية":"mn","المهراتية":"mr","النرويجية":"nb","الهندية":"hi","الهنغارية":"hu","الهولندية":"nl","الويلزية":"cy","اليابانية":"ja","اليونانية":"el","баскијски":"eu","вијетнамски":"vi","галски":"gl","енглески":"en","индонежански":"id","јапански":"ja","јерменски":"hy","кинески (поједностављени)":"zh-cn","кинески (традиционални)":"zh-tw","креолски (хаити)":"ht","летонски":"lv","мађарски":"hu","марати":"mr","немачки":"de","персијски":"fa","пољски":"pl","румунски":"ro","словеначки":"sl","тајски":"th","украјински":"uk","азербайжан":"az","албани":"sq","амхарик":"am","англи":"en","араб":"ar","армени":"hy","баск":"eu","беларусь":"be","бирм":"my","болгар":"bg","вьетнам":"vi","гаити креол":"ht","галик":"gl","гаэл":"gd","герман":"de","голланд":"nl","грек":"el","дани":"da","индонези":"id","ирланд":"ga","исланд":"is","испани":"es","итали":"it","каталан":"ca","кипр":"he","курд":"ku","латви":"lv","латин":"la","литва":"lt","македон":"mk","малай":"ms","малайлам":"ml","малти":"mt","монгол":"mn","норвеги":"nb","орос":"ru","перс":"fa","польш":"pl","португаль":"pt","румын":"ro","серби":"sr","словак":"sk","словени":"sl","солонгос":"ko","тай":"th","турк":"tr","тэлүгү":"te","узбек":"uz","украин":"uk","унгар":"hu","уэльс":"cy","финлянд":"fi","франц":"fr","хорват":"hr","хятад (ердийн)":"zh-cn","хятад (уламжлалт)":"zh-tw","чех":"cs","швед":"sv","эстони":"et","япон":"ja","amhariska":"am","arabiska":"ar","armeniska":"hy","azerbajdzjanska":"az","baskiska":"eu","bulgariska":"bg","burmesiska":"my","engelska":"en","estniska":"et","finska":"fi","gaeliska":"gd","galiciska":"gl","grekiska":"el","haitiska":"ht","hebreiska":"he","indonesiska":"id","irländska":"ga","isländska":"is","italienska":"it","kanaresiska":"kn","katalanska":"ca","kinesiska (förenklad)":"zh-cn","kinesiska (traditionell)":"zh-tw","koreanska":"ko","kroatiska":"hr","kurdiska":"ku","lettiska":"lv","litauiska":"lt","makedonska":"mk","malaysiska":"ms","maltesiska":"mt","mongoliska":"mn","nederländska":"nl","persiska":"fa","polska":"pl","portugisiska":"pt","rumänska":"ro","ryska":"ru","serbiska":"sr","slovakiska":"sk","slovenska":"sl","spanska":"es","svenska":"sv","thailändska":"th","tjeckiska":"cs","turkiska":"tr","tyska":"de","ukrainska":"uk","ungerska":"hu","uzbekiska":"uz","vietnamesiska":"vi","vitryska":"be","walesiska":"cy","albaneză":"sq","amharică":"am","arabă":"ar","armeană":"hy","azerbaidjană":"az","bască":"eu","bielorusă":"be","birmană":"my","bulgară":"bg","catalană":"ca","cehă":"cs","chineză (simplificată)":"zh-cn","chineză (tradițională)":"zh-tw","coreeană":"ko","creolă haitiană":"ht","croată":"hr","daneză":"da","ebraică":"he","engleză":"en","estonă":"et","finlandeză":"fi","franceză":"fr","galeză":"cy","galica scoțiană":"gd","galiciană":"gl","germană":"de","greacă":"el","indoneziană":"id","irlandeză":"ga","islandeză":"is","italiană":"it","japoneză":"ja","kurdă":"ku","latină":"la","letonă":"lv","lituaniană":"lt","macedoneană":"mk","maghiară":"hu","malaeză":"ms","malteză":"mt","mongolă":"mn","neerlandeză":"nl","norvegiană":"nb","persană":"fa","poloneză":"pl","portugheză":"pt","română":"ro","rusă":"ru","sârbă":"sr","slovacă":"sk","slovenă":"sl","spaniolă":"es","suedeză":"sv","thailandeză":"th","turcă":"tr","ucraineană":"uk","uzbecă":"uz","vietnameză":"vi","airių":"ga","albanų":"sq","amharų":"am","anglų":"en","arabų":"ar","armėnų":"hy","azerbaidžaniečių":"az","baltarusių":"be","baskų":"eu","birmiečių":"my","bulgarų":"bg","čekų":"cs","danų":"da","estų":"et","galisų":"gl","graikų":"el","haičio kreolų":"ht","hebrajų":"he","indoneziečių":"id","islandų":"is","ispanų":"es","italų":"it","japonų":"ja","kanadų":"kn","kataloniečių":"ca","kinų (supaprastinta)":"zh-cn","kinų (tradicinė)":"zh-tw","korėjiečių":"ko","kroatų":"hr","kurdų":"ku","latvių":"lv","lenkų":"pl","lietuvių":"lt","lotynų":"la","makedoniečių":"mk","malajalių":"ml","malajiečių":"ms","maltiečių":"mt","maorių":"mi","maratų":"mr","mongolų":"mn","norvegų":"nb","olandų":"nl","persų":"fa","portugalų":"pt","prancūzų":"fr","rumunų":"ro","rusų":"ru","serbų":"sr","slovakų":"sk","slovėnų":"sl","suomių":"fi","škotų (gėlų)":"gd","švedų":"sv","tajų":"th","telugų":"te","turkų":"tr","ukrainiečių":"uk","uzbekų":"uz","valų":"cy","vengrų":"hu","vietnamiečių":"vi","vokiečių":"de","zulusų":"zu","갈리시아어":"gl","그리스어":"el","네덜란드어":"nl","노르웨이어":"nb","덴마크어":"da","독일어":"de","라트비아어":"lv","라틴어":"la","러시아어":"ru","루마니아어":"ro","리투아니아어":"lt","마라티어":"mr","마오리어":"mi","마케도니아어":"mk","말라얄람어":"ml","말레이어":"ms","몰타어":"mt","몽골어":"mn","미얀마어 (버마어)":"my","바스크어":"eu","베트남어":"vi","벨라루스어":"be","불가리아어":"bg","세르비아어":"sr","스웨덴어":"sv","스코틀랜드 게일어":"gd","스페인어":"es","슬로바키아어":"sk","슬로베니아어":"sl","아랍어":"ar","아르메니아어":"hy","아이슬란드어":"is","아이티 크리올어":"ht","아일랜드어":"ga","아제르바이잔어":"az","알바니아어":"sq","암하라어":"am","에스토니아어":"et","에스페란토어":"eo","영어":"en","우즈베크어":"uz","우크라이나어":"uk","웨일즈어":"cy","이탈리아어":"it","인도네시아어":"id","일본어":"ja","줄루어":"zu","중국어(간체)":"zh-cn","중국어(번체)":"zh-tw","체코어":"cs","카탈로니아어":"ca","칸나다어":"kn","쿠르드어":"ku","크로아티아어":"hr","태국어":"th","터키어":"tr","텔루구어":"te","페르시아어":"fa","포르투갈어":"pt","폴란드어":"pl","프랑스어":"fr","핀란드어":"fi","한국어":"ko","헝가리어":"hu","히브리어":"he","힌디어":"hi","albanese":"sq","amarico":"am","arabo":"ar","armeno":"hy","azero":"az","bielorusso":"be","bulgaro":"bg","catalano":"ca","ceco":"cs","cinese (semplificato)":"zh-cn","cinese (tradizionale)":"zh-tw","creolo haitiano":"ht","croato":"hr","curdo (kurmanji)":"ku","danese":"da","ebraico":"he","estone":"et","finlandese":"fi","francese":"fr","gaelico scozzese":"gd","galiziano":"gl","gallese":"cy","giapponese":"ja","greco":"el","indonesiano":"id","inglese":"en","irlandese":"ga","islandese":"is","latino":"la","lettone":"lv","macedone":"mk","malese":"ms","mongolo":"mn","norvegese":"nb","olandese":"nl","persiano":"fa","polacco":"pl","portoghese":"pt","rumeno":"ro","serbo":"sr","slovacco":"sk","sloveno":"sl","spagnolo":"es","svedese":"sv","tailandese":"th","tedesco":"de","ucraino":"uk","ungherese":"hu","quốc tế ngữ":"eo","tiếng ả rập":"ar","tiếng albania":"sq","tiếng amharic":"am","tiếng anh":"en","tiếng armenia":"hy","tiếng azerbaijan":"az","tiếng ba lan":"pl","tiếng ba tư":"fa","tiếng basque":"eu","tiếng belarus":"be","tiếng bồ đào nha":"pt","tiếng bulgaria":"bg","tiếng catalan":"ca","tiếng creole ở haiti":"ht","tiếng croatia":"hr","tiếng do thái":"he","tiếng đan mạch":"da","tiếng đức":"de","tiếng estonia":"et","tiếng gael scotland":"gd","tiếng galicia":"gl","tiếng hà lan":"nl","tiếng hàn":"ko","tiếng hindi":"hi","tiếng hungary":"hu","tiếng hy lạp":"el","tiếng iceland":"is","tiếng indonesia":"id","tiếng ireland":"ga","tiếng kannada":"kn","tiếng kurd":"ku","tiếng latinh":"la","tiếng latvia":"lv","tiếng litva":"lt","tiếng mã lai":"ms","tiếng macedonia":"mk","tiếng malayalam":"ml","tiếng malta":"mt","tiếng maori":"mi","tiếng marathi":"mr","tiếng mông cổ":"mn","tiếng myanmar":"my","tiếng na uy":"nb","tiếng nga":"ru","tiếng nhật":"ja","tiếng pháp":"fr","tiếng phần lan":"fi","tiếng rumani":"ro","tiếng séc":"cs","tiếng serbia":"sr","tiếng slovak":"sk","tiếng slovenia":"sl","tiếng tây ban nha":"es","tiếng telugu":"te","tiếng thái":"th","tiếng thổ nhĩ kỳ":"tr","tiếng thụy điển":"sv","tiếng trung (giản thể)":"zh-cn","tiếng trung (phồn thể)":"zh-tw","tiếng ukraina":"uk","tiếng uzbek":"uz","tiếng việt":"vi","tiếng xứ wales":"cy","tiếng ý":"it","tiếng zulu":"zu","にほんご":"ja"},"scratchToGoogleMap":{"zh-cn":"zh","nb":"no","he":"iw","es-419":"es","pt-br":"pt","ja-hira":"ja"},"previouslySupported":["ab","ms","be","eo","hy","hi","kn","ht","ku","la","mk","ml","mt","mr","mn","my","nn","sq","te","uz"]}')},function(A,B){A.exports=(A,B,t)=>{let e=null;const g=window.AbortController?new window.AbortController:null,i=g?g.signal:null;return Promise.race([fetch(A,Object.assign({signal:i},B)).then(A=>(clearTimeout(e),A)),new Promise((A,B)=>{e=setTimeout(()=>{g&&g.abort(),B(new Error("Fetch timed out after ".concat(t," ms")))},t)})])}},function(A,B,t){function e(A,B){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(A);B&&(e=e.filter((function(B){return Object.getOwnPropertyDescriptor(A,B).enumerable}))),t.push.apply(t,e)}return t}function g(A,B,t){return B in A?Object.defineProperty(A,B,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[B]=t,A}const i=t(20),{OrderedMap:Q}=t(24),s=t(71),n=t(3),r=t(16),c=t(65),E=t(2),o=t(205),w=t(206),C=t(75),a=t(214),I=t(39),Y=t(30),h=t(0),M=t(58),F=t(14),D=t(9),u=t(28),l=t(215),d=t(216),U=t(217),N=t(218),m=t(219),G=t(220),f=t(221),H=t(76),R=t(7),p=t(6),y={scratch3_control:t(222),scratch3_event:t(223),scratch3_looks:t(224),scratch3_motion:t(225),scratch3_operators:t(226),scratch3_sound:t(227),scratch3_sensing:t(228),scratch3_data:t(229),scratch3_procedures:t(230)},J=t(231),k=t(232),T=["#0FBD8C","#0DA57A","#0B8E69"],j=(()=>{const A={};return A[n.ANGLE]={shadow:{type:"math_angle",fieldName:"NUM"}},A[n.COLOR]={shadow:{type:"colour_picker",fieldName:"COLOUR"}},A[n.NUMBER]={shadow:{type:"math_number",fieldName:"NUM"}},A[n.STRING]={shadow:{type:"text",fieldName:"TEXT"}},A[n.BOOLEAN]={check:"Boolean"},A[n.MATRIX]={shadow:{type:"matrix",fieldName:"MATRIX"}},A[n.NOTE]={shadow:{type:"note",fieldName:"NOTE"}},A[n.IMAGE]={fieldType:"field_image"},A})(),x=A=>{let B=0;return{canAddCloudVariable:()=>B{B++},removeCloudVariable:()=>{B--},hasCloudVariables:()=>B>0,getNumberOfCloudVariables:()=>B}};let S=-1,b=-1,z=-1;class L extends i{constructor(){super(),this.targets=[],this.executableTargets=[],this.threads=[],this.threadMap=new Map,this.sequencer=new w(this),this.flyoutBlocks=new r(this,!0),this.monitorBlocks=new r(this,!0),this._editingTarget=null,this._primitives={},this._blockInfo=[],this._hats={},this._scriptGlowsPreviousFrame=[],this._nonMonitorThreadCount=0,this._lastStepDoneThreads=null,this._cloneCounter=0,this._refreshTargets=!1,this.monitorBlockInfo={},this._monitorState=Q({}),this._prevMonitorState=Q({}),this.turboMode=!1,this.frameLoop=new k(this),this.currentStepTime=1e3/30,this.updateCurrentMSecs(),this.redrawRequested=!1,this._registerBlockPackages(),this.ioDevices={clock:new d(this),cloud:new U(this),keyboard:new N(this),mouse:new m(this),mouseWheel:new G(this),userData:new f,video:new H(this)},this.peripheralExtensions={},this.profiler=null,this.cloudOptions={limit:10};const A=x(this.cloudOptions);this.hasCloudData=A.hasCloudVariables,this.canAddCloudVariable=A.canAddCloudVariable,this.getNumberOfCloudVariables=A.getNumberOfCloudVariables,this.addCloudVariable=this._initializeAddCloudVariable(A),this.removeCloudVariable=this._initializeRemoveCloudVariable(A),this.origin=null,this._stageTarget=null,this.addonBlocks={},this.stageWidth=L.STAGE_WIDTH,this.stageHeight=L.STAGE_HEIGHT,this.runtimeOptions={maxClones:L.MAX_CLONES,miscLimits:!0,fencing:!0},this.compilerOptions={enabled:!0,warpTimer:!1},this.debug=!1,this._lastStepTime=Date.now(),this.interpolationEnabled=!1,this._defaultStoredSettings=this._generateAllProjectOptions(),this.isPackaged=!1}static get STAGE_WIDTH(){return 480}static get STAGE_HEIGHT(){return 360}static get SCRIPT_GLOW_ON(){return"SCRIPT_GLOW_ON"}static get SCRIPT_GLOW_OFF(){return"SCRIPT_GLOW_OFF"}static get BLOCK_GLOW_ON(){return"BLOCK_GLOW_ON"}static get BLOCK_GLOW_OFF(){return"BLOCK_GLOW_OFF"}static get HAS_CLOUD_DATA_UPDATE(){return"HAS_CLOUD_DATA_UPDATE"}static get TURBO_MODE_ON(){return"TURBO_MODE_ON"}static get TURBO_MODE_OFF(){return"TURBO_MODE_OFF"}static get RUNTIME_OPTIONS_CHANGED(){return"RUNTIME_OPTIONS_CHANGED"}static get COMPILER_OPTIONS_CHANGED(){return"COMPILER_OPTIONS_CHANGED"}static get FRAMERATE_CHANGED(){return"FRAMERATE_CHANGED"}static get INTERPOLATION_CHANGED(){return"INTERPOLATION_CHANGED"}static get STAGE_SIZE_CHANGED(){return"STAGE_SIZE_CHANGED"}static get COMPILE_ERROR(){return"COMPILE_ERROR"}static get PROJECT_START(){return"PROJECT_START"}static get PROJECT_RUN_START(){return"PROJECT_RUN_START"}static get PROJECT_RUN_STOP(){return"PROJECT_RUN_STOP"}static get PROJECT_STOP_ALL(){return"PROJECT_STOP_ALL"}static get STOP_FOR_TARGET(){return"STOP_FOR_TARGET"}static get VISUAL_REPORT(){return"VISUAL_REPORT"}static get PROJECT_LOADED(){return"PROJECT_LOADED"}static get PROJECT_CHANGED(){return"PROJECT_CHANGED"}static get TOOLBOX_EXTENSIONS_NEED_UPDATE(){return"TOOLBOX_EXTENSIONS_NEED_UPDATE"}static get TARGETS_UPDATE(){return"TARGETS_UPDATE"}static get MONITORS_UPDATE(){return"MONITORS_UPDATE"}static get BLOCK_DRAG_UPDATE(){return"BLOCK_DRAG_UPDATE"}static get BLOCK_DRAG_END(){return"BLOCK_DRAG_END"}static get EXTENSION_ADDED(){return"EXTENSION_ADDED"}static get EXTENSION_FIELD_ADDED(){return"EXTENSION_FIELD_ADDED"}static get PERIPHERAL_LIST_UPDATE(){return"PERIPHERAL_LIST_UPDATE"}static get USER_PICKED_PERIPHERAL(){return"USER_PICKED_PERIPHERAL"}static get PERIPHERAL_CONNECTED(){return"PERIPHERAL_CONNECTED"}static get PERIPHERAL_DISCONNECTED(){return"PERIPHERAL_DISCONNECTED"}static get PERIPHERAL_REQUEST_ERROR(){return"PERIPHERAL_REQUEST_ERROR"}static get PERIPHERAL_CONNECTION_LOST_ERROR(){return"PERIPHERAL_CONNECTION_LOST_ERROR"}static get PERIPHERAL_SCAN_TIMEOUT(){return"PERIPHERAL_SCAN_TIMEOUT"}static get MIC_LISTENING(){return"MIC_LISTENING"}static get BLOCKSINFO_UPDATE(){return"BLOCKSINFO_UPDATE"}static get RUNTIME_STARTED(){return"RUNTIME_STARTED"}static get RUNTIME_STOPPED(){return"RUNTIME_STOPPED"}static get RUNTIME_DISPOSED(){return"RUNTIME_DISPOSED"}static get BLOCKS_NEED_UPDATE(){return"BLOCKS_NEED_UPDATE"}static get THREAD_STEP_INTERVAL(){return 1e3/60}static get THREAD_STEP_INTERVAL_COMPATIBILITY(){return 1e3/30}static get MAX_CLONES(){return 300}_initializeAddCloudVariable(A){return()=>{const B=this.hasCloudData();A.addCloudVariable(),!B&&this.hasCloudData()&&this.emit(L.HAS_CLOUD_DATA_UPDATE,!0)}}_initializeRemoveCloudVariable(A){return()=>{const B=this.hasCloudData();A.removeCloudVariable(),B&&!this.hasCloudData()&&this.emit(L.HAS_CLOUD_DATA_UPDATE,!1)}}_registerBlockPackages(){for(const A in y)if(y.hasOwnProperty(A)){const B=new y[A](this);if(B.getPrimitives){const A=B.getPrimitives();for(const t in A)A.hasOwnProperty(t)&&(this._primitives[t]=A[t].bind(B))}if(B.getHats){const A=B.getHats();for(const B in A)A.hasOwnProperty(B)&&(this._hats[B]=A[B])}B.getMonitored&&(this.monitorBlockInfo=Object.assign({},this.monitorBlockInfo,B.getMonitored())),this.compilerRegisterExtension(A,B)}}compilerRegisterExtension(A,B){this["ext_".concat(A)]=B}getMonitorState(){return this._monitorState}_makeExtensionMenuId(A,B){return"".concat(B,"_menu_").concat(u(A))}makeMessageContextForTarget(A){const B={};(A=A||this.getEditingTarget()||this.getTargetForStage())&&(B.targetType=A.isStage?I.STAGE:I.SPRITE)}_registerExtensionPrimitives(A){const B={id:A.id,name:M(A.name),showStatusButton:A.showStatusButton,blockIconURI:A.blockIconURI,menuIconURI:A.menuIconURI};A.color1?(B.color1=A.color1,B.color2=A.color2,B.color3=A.color3):(B.color1=T[0],B.color2=T[1],B.color3=T[2]),this._blockInfo.push(B),this._fillExtensionCategory(B,A);for(const t in B.customFieldTypes)if(A.customFieldTypes.hasOwnProperty(t)){const A=B.customFieldTypes[t];this.emit(L.EXTENSION_FIELD_ADDED,{name:"field_".concat(A.extendedName),implementation:A.fieldImplementation})}this.emit(L.EXTENSION_ADDED,B)}_refreshExtensionPrimitives(A){const B=this._blockInfo.find(B=>B.id===A.id);B&&(B.name=M(A.name),this._fillExtensionCategory(B,A),this.emit(L.BLOCKSINFO_UPDATE,B))}_fillExtensionCategory(A,B){A.blocks=[],A.customFieldTypes={},A.menus=[],A.menuInfo={};for(const t in B.menus)if(B.menus.hasOwnProperty(t)){const e=B.menus[t],g=this._buildMenuForScratchBlocks(t,e,A);A.menus.push(g),A.menuInfo[t]=e}for(const t in B.customFieldTypes)if(B.customFieldTypes.hasOwnProperty(t)){const e=B.customFieldTypes[t],g=this._buildCustomFieldInfo(t,e,B.id,A);A.customFieldTypes[t]=g}if(B.docsURI)try{const t=new URL(B.docsURI);if("http:"!==t.protocol&&"https:"!==t.protocol)throw new Error("invalid protocol");const e={info:{},xml:"')};A.blocks.push(e)}catch(A){h.warn("cannot create docsURI button",A)}for(const t of B.blocks)try{const B=this._convertForScratchBlocks(t,A);if(A.blocks.push(B),B.json){const A=B.json.type;t.blockType!==E.EVENT&&(this._primitives[A]=B.info.func),t.blockType!==E.EVENT&&t.blockType!==E.HAT||(this._hats[A]={edgeActivated:t.isEdgeActivated,restartExistingThreads:t.shouldRestartExistingThreads})}}catch(A){h.error("Error parsing block: ",{block:t,error:A})}}_convertMenuItems(A){if("function"!=typeof A){const B=this.makeMessageContextForTarget();return A.map(A=>{const t=M(A,B);switch(typeof t){case"string":return[t,t];case"object":return[M(A.text,B),A.value];default:throw new Error("Can't interpret menu item: ".concat(JSON.stringify(A)))}})}return A}_buildMenuForScratchBlocks(A,B,t){const e=this._makeExtensionMenuId(A,t.id),g=this._convertMenuItems(B.items);return{json:{message0:"%1",type:e,inputsInline:!0,output:"String",colour:t.color1,colourSecondary:t.color2,colourTertiary:t.color3,outputShape:B.acceptReporters?a.OUTPUT_SHAPE_ROUND:a.OUTPUT_SHAPE_SQUARE,args0:[{type:"field_dropdown",name:A,options:g}]}}}_buildCustomFieldInfo(A,B,t,e){const g="".concat(t,"_").concat(A);return{fieldName:A,extendedName:g,argumentTypeInfo:{shadow:{type:g,fieldName:"field_".concat(g)}},scratchBlocksDefinition:this._buildCustomFieldTypeForScratchBlocks(g,B.output,B.outputShape,e),fieldImplementation:B.implementation}}_buildCustomFieldTypeForScratchBlocks(A,B,t,e){return{json:{type:A,message0:"%1",inputsInline:!0,output:B,colour:e.color1,colourSecondary:e.color2,colourTertiary:e.color3,outputShape:t,args0:[{name:"field_".concat(A),type:"field_".concat(A)}]}}}_convertForScratchBlocks(A,B){return"---"===A?this._convertSeparatorForScratchBlocks(A):A.blockType===E.BUTTON?this._convertButtonForScratchBlocks(A):this._convertBlockForScratchBlocks(A,B)}_convertBlockForScratchBlocks(A,B){const t="".concat(B.id,"_").concat(A.opcode),e={type:t,inputsInline:!0,category:B.name,colour:B.color1,colourSecondary:B.color2,colourTertiary:B.color3},g={argsMap:{},blockJSON:e,categoryInfo:B,blockInfo:A,inputList:[]},i=A.blockIconURI||B.blockIconURI;if(i){e.extensions=["scratch_extension"],e.message0="%1 %2";const A={type:"field_image",src:i,width:40,height:40},B={type:"field_vertical_separator"};e.args0=[A,B]}switch(A.blockType){case E.COMMAND:e.outputShape=a.OUTPUT_SHAPE_SQUARE,e.previousStatement=null,A.isTerminal||(e.nextStatement=null);break;case E.REPORTER:e.output="String",e.outputShape=a.OUTPUT_SHAPE_ROUND;break;case E.BOOLEAN:e.output="Boolean",e.outputShape=a.OUTPUT_SHAPE_HEXAGONAL;break;case E.HAT:case E.EVENT:A.hasOwnProperty("isEdgeActivated")||(A.isEdgeActivated=!0),e.outputShape=a.OUTPUT_SHAPE_SQUARE,e.nextStatement=null;break;case E.CONDITIONAL:case E.LOOP:A.branchCount=A.branchCount||1,e.outputShape=a.OUTPUT_SHAPE_SQUARE,e.previousStatement=null,A.isTerminal||(e.nextStatement=null)}const Q=Array.isArray(A.text)?A.text:[A.text];let s=0,n=0,r=0;const c=this._convertPlaceholders.bind(this,g),o=this.makeMessageContextForTarget();for(;s0?n+1:"")}],++n,++r)}A.blockType===E.REPORTER?A.disableMonitor||0!==g.inputList.length||(e.checkboxInFlyout=!0):A.blockType===E.LOOP&&(e["lastDummyAlign".concat(r)]="RIGHT",e["message".concat(r)]="%1",e["args".concat(r)]=[{type:"field_image",src:"./static/blocks-media/repeat.svg",width:24,height:24,alt:"*",flip_rtl:!0}],++r);const w=A.isDynamic?''):"",C=g.inputList.join(""),I='').concat(w).concat(C,"");return{info:g.blockInfo,json:g.blockJSON,xml:I}}_convertSeparatorForScratchBlocks(A){return{info:A,xml:''}}_convertButtonForScratchBlocks(A){["MAKE_A_LIST","MAKE_A_PROCEDURE","MAKE_A_VARIABLE"].indexOf(A.func)<0&&h.error("Custom button callbacks not supported yet: ".concat(A.func));const B=this.makeMessageContextForTarget(),t=M(A.text,B);return{info:A,xml:'')}}_constructInlineImageJson(A){return A.dataURI||h.warn("Missing data URI in extension block with argument type IMAGE"),{type:"field_image",src:A.dataURI||"",width:24,height:24,flip_rtl:A.flipRTL||!1}}_convertPlaceholders(A,B,t){t=t.replace(/[<"&]/,"_");const e=A.blockInfo.arguments[t]||{};let g,i=j[e.type]||{};if(!j[e.type]&&A.categoryInfo.customFieldTypes[e.type]&&(i=A.categoryInfo.customFieldTypes[e.type].argumentTypeInfo),"field_image"===i.fieldType)g=this._constructInlineImageJson(e);else{g={type:"input_value",name:t};const B=void 0===e.defaultValue?"":u(M(e.defaultValue,this.makeMessageContextForTarget()).toString());let Q,s,n;if(i.check&&(g.check=i.check),e.menu){const B=A.categoryInfo.menuInfo[e.menu];B.acceptReporters?(Q=t,s=this._makeExtensionMenuId(e.menu,A.categoryInfo.id),n=e.menu):(g.type="field_dropdown",g.options=this._convertMenuItems(B.items),Q=null,s=null,n=t)}else Q=t,s=i.shadow&&i.shadow.type||null,n=i.shadow&&i.shadow.fieldName||null;Q&&A.inputList.push('')),s&&A.inputList.push('')),B&&n&&A.inputList.push('').concat(B,"")),s&&A.inputList.push(""),Q&&A.inputList.push("")}const Q="args".concat(A.outLineNum),s=A.blockJSON[Q]=A.blockJSON[Q]||[];g&&s.push(g);const n=s.length;return A.argsMap[t]=n,"%".concat(n)}getBlocksXML(A){return this._blockInfo.map(B=>{const{name:t,color1:e,color2:g}=B,i=B.blocks.filter(B=>{let t=!0;return A&&B.info.filter&&(t=B.info.filter.includes(A.isStage?I.STAGE:I.SPRITE)),t&&!B.info.hideFromPalette}),Q='colour="'.concat(e,'" secondaryColour="').concat(g,'"');let s="";B.menuIconURI?s=B.menuIconURI:B.blockIconURI&&(s=B.blockIconURI);const n=s?'iconURI="'.concat(s,'"'):"";let r="";return B.showStatusButton&&(r='showStatusButton="true"'),{id:B.id,xml:'").concat(i.map(A=>A.xml).join(""),"")}})}getBlocksJSON(){return this._blockInfo.reduce((A,B)=>A.concat(B.blocks.map(A=>A.json)),[])}getScratchLinkSocket(A){return(this._linkSocketFactory||this._defaultScratchLinkSocketFactory)(A)}configureScratchLinkSocketFactory(A){this._linkSocketFactory=A}_defaultScratchLinkSocketFactory(A){return new l(A)}registerPeripheralExtension(A,B){this.peripheralExtensions[A]=B}scanForPeripheral(A){this.peripheralExtensions[A]&&this.peripheralExtensions[A].scan()}connectPeripheral(A,B){this.peripheralExtensions[A]&&this.peripheralExtensions[A].connect(B)}disconnectPeripheral(A){this.peripheralExtensions[A]&&this.peripheralExtensions[A].disconnect()}getPeripheralIsConnected(A){let B=!1;return this.peripheralExtensions[A]&&(B=this.peripheralExtensions[A].isConnected()),B}emitMicListening(A){this.emit(L.MIC_LISTENING,A)}getOpcodeFunction(A){return this._primitives[A]}getIsHat(A){return this._hats.hasOwnProperty(A)}getIsEdgeActivatedHat(A){return this._hats.hasOwnProperty(A)&&this._hats[A].edgeActivated}attachAudioEngine(A){this.audioEngine=A}attachRenderer(A){this.renderer=A,this.renderer.setLayerGroupOrdering(F.LAYER_GROUPS),this.renderer.offscreenTouching=!this.runtimeOptions.fencing}attachV2BitmapAdapter(A){this.v2BitmapAdapter=A}attachStorage(A){if(this.storage=A,this.isPackaged){const B=A.createAsset;let t=0;A.createAsset=function(A,e,g,i,Q){return i||(i=(++t).toString()),B.call(this,A,e,g,i,!1)}}}_pushThread(A,B,t){const e=new Y(A);return e.target=B,e.stackClick=Boolean(t&&t.stackClick),e.updateMonitor=Boolean(t&&t.updateMonitor),e.blockContainer=e.updateMonitor?this.monitorBlocks:B.blocks,e.pushStack(A),this.threads.push(e),e.stackClick||e.updateMonitor||this.threadMap.set(e.getId(),e),t&&t.updateMonitor||!this.compilerOptions.enabled||e.tryCompile(),e}_stopThread(A){A.isKilled=!0,this.sequencer.retireThread(A)}_restartThread(A){const B=new Y(A.topBlock);B.target=A.target,B.stackClick=A.stackClick,B.updateMonitor=A.updateMonitor,B.blockContainer=A.blockContainer,B.pushStack(A.topBlock),A.triedToCompile&&this.compilerOptions.enabled&&B.tryCompile(),B.stackClick||B.updateMonitor||this.threadMap.set(B.getId(),B);const t=this.threads.indexOf(A);return t>-1?(this.threads[t]=B,B):(this.threads.push(A),A)}emitCompileError(A,B){this.emit(L.COMPILE_ERROR,A,B)}isActiveThread(A){return A.stack.length>0&&A.status!==Y.STATUS_DONE&&this.threads.indexOf(A)>-1}isWaitingThread(A){return A.status===Y.STATUS_PROMISE_WAIT||A.status===Y.STATUS_YIELD_TICK||!this.isActiveThread(A)}toggleScript(A,B){B=Object.assign({target:this._editingTarget,stackClick:!1},B);for(let t=0;t=0;B--){const e=t[B],g=e.blocks.getScripts();for(let B=0;B=0;t--){const g=e[t],i=c.getScripts(g.blocks,A);for(let A=0;A{const{blockId:Q,fieldsOfInputs:s}=A;for(const A in B)if(s[A].value!==B[A])return;if(g.restartExistingThreads){const A=this.threadMap.get(Y.getIdFromTargetAndBlock(t,Q));if(A)return void e.push(this._restartThread(A))}else for(let A=0;A{A.isCompiled||(C(this.sequencer,A),A.goToNextBlock())}),e}dispose(){this.stopAll(),this.targets.forEach(A=>{A.isOriginal&&A.deleteMonitors()}),this.targets.map(this.disposeTarget,this);const A=Q({});A.equals(this._monitorState)||(this._monitorState=A,this.emit(L.MONITORS_UPDATE,this._monitorState)),this.emit(L.RUNTIME_DISPOSED),this.ioDevices.clock.resetProjectTimer(),this.hasCloudData()&&this.emit(L.HAS_CLOUD_DATA_UPDATE,!1),this.ioDevices.cloud.clear();const B=x(this.cloudOptions);this.hasCloudData=B.hasCloudVariables,this.canAddCloudVariable=B.canAddCloudVariable,this.getNumberOfCloudVariables=B.getNumberOfCloudVariables,this.addCloudVariable=this._initializeAddCloudVariable(B),this.removeCloudVariable=this._initializeRemoveCloudVariable(B)}addTarget(A){this.targets.push(A),this.executableTargets.push(A),A.isStage&&!this._stageTarget&&(this._stageTarget=A)}moveExecutable(A,B){const t=this.executableTargets.indexOf(A);this.executableTargets.splice(t,1);let e=t+B;return e>this.executableTargets.length&&(e=this.executableTargets.length),e<=0&&(e=this.executableTargets.length>0&&this.executableTargets[0].isStage?1:0),this.executableTargets.splice(e,0,A),e}setExecutablePosition(A,B){const t=this.executableTargets.indexOf(A);return this.moveExecutable(A,B-t)}removeExecutable(A){const B=this.executableTargets.indexOf(A);B>-1&&this.executableTargets.splice(B,1)}disposeTarget(A){this.targets=this.targets.filter(B=>A!==B||(B.dispose(),!1)),this._stageTarget===A&&(this._stageTarget=null)}stopForTarget(A,B){this.emit(L.STOP_FOR_TARGET,A,B);for(let t=0;tA.clearEdgeActivatedValues());for(let A=0;A!A.isKilled),this.updateThreadMap();for(const A in this._hats){if(!this._hats.hasOwnProperty(A))continue;this._hats[A].edgeActivated&&this.startHats(A)}this.redrawRequested=!1,this._pushMonitors(),null!==this.profiler&&(-1===b&&(b=this.profiler.idByName("Sequencer.stepThreads")),this.profiler.start(b));const A=this.sequencer.stepThreads();null!==this.profiler&&this.profiler.stop(),this._updateGlows(A),this._emitProjectRunStatus(this.threads.length+A.length-this._getMonitorThreadCount([...this.threads,...A])),this._lastStepDoneThreads=A,this.renderer&&(null!==this.profiler&&(-1===z&&(z=this.profiler.idByName("RenderWebGL.draw")),this.profiler.start(z)),document.hidden||this.frameLoop._interpolationAnimation||this.renderer.draw(),null!==this.profiler&&this.profiler.stop()),this._refreshTargets&&(this.emit(L.TARGETS_UPDATE,!1),this._refreshTargets=!1),this._prevMonitorState.equals(this._monitorState)||(this.emit(L.MONITORS_UPDATE,this._monitorState),this._prevMonitorState=this._monitorState),null!==this.profiler&&(this.profiler.stop(),this.profiler.reportFrames()),this.interpolationEnabled&&(this._lastStepTime=Date.now())}_getMonitorThreadCount(A){let B=0;return A.forEach(A=>{A.updateMonitor&&B++}),B}_pushMonitors(){this.monitorBlocks.runAllMonitored(this)}setEditingTarget(A){const B=this._editingTarget;this._editingTarget=A,this._scriptGlowsPreviousFrame=[],this._updateGlows(),B!==this._editingTarget&&this.requestToolboxExtensionsUpdate()}setCompatibilityMode(A){A?this.setFramerate(30):this.setFramerate(60)}setFramerate(A){A>250&&(A=250),A<0&&(A=1),this.frameLoop.setFramerate(A),this.emit(L.FRAMERATE_CHANGED,A)}setInterpolation(A){this.interpolationEnabled=A,this.frameLoop.setInterpolation(this.interpolationEnabled),this.emit(L.INTERPOLATION_CHANGED,A)}setRuntimeOptions(A){this.runtimeOptions=Object.assign({},this.runtimeOptions,A),this.emit(L.RUNTIME_OPTIONS_CHANGED,this.runtimeOptions),this.renderer&&(this.renderer.offscreenTouching=!this.runtimeOptions.fencing)}setCompilerOptions(A){this.compilerOptions=Object.assign({},this.compilerOptions,A),this.resetAllCaches(),this.emit(L.COMPILER_OPTIONS_CHANGED,this.compilerOptions)}setStageSize(A,B){if(A=Math.round(Math.max(1,A)),B=Math.round(Math.max(1,B)),this.stageWidth!==A||this.stageHeight!==B){const t=A-this.stageWidth,e=B-this.stageHeight;if(this._monitorState.size>0){const A=t/2,B=e/2;for(const t of this._monitorState.valueSeq()){const e=t.set("x",t.get("x")+A).set("y",t.get("y")+B);this.requestUpdateMonitor(e)}this.emit(L.MONITORS_UPDATE,this._monitorState)}this.stageWidth=A,this.stageHeight=B,this.renderer&&this.renderer.setStageSize(-A/2,A/2,-B/2,B/2)}this.emit(L.STAGE_SIZE_CHANGED,A,B)}setInEditor(A){}convertToPackagedRuntime(){if(this.storage)throw new Error("convertToPackagedRuntime must be called before attachStorage");this.isPackaged=!0}resetAllCaches(){for(const A of this.targets)A.isOriginal&&A.blocks.resetCache();this.flyoutBlocks.resetCache(),this.monitorBlocks.resetCache()}addAddonBlock(A){const B=A.procedureCode,t=A.arguments,i=A.arguments.map((A,B)=>"arg".concat(B)),Q=A.arguments.map(()=>"");if(this.addonBlocks[B]=function(A){for(var B=1;BB.id===A);e||(e={id:A,name:"Addons",color1:"#29beb8",color2:"#3aa8a4",color3:"#3aa8a4",blocks:[],customFieldTypes:{},menus:[]},this._blockInfo.unshift(e)),e.blocks.push({info:{},xml:'"})}this.resetAllCaches()}getAddonBlock(A){return Object.prototype.hasOwnProperty.call(this.addonBlocks,A)?this.addonBlocks[A]:null}findProjectOptionsComment(){const A=this.getTargetForStage().comments;for(const B of Object.values(A))if(B.text.includes(" // _twconfig_"))return B;return null}parseProjectOptions(){const A=this.findProjectOptionsComment();if(!A)return;const B=A.text.split("\n").find(A=>A.endsWith(" // _twconfig_"));if(!B)return void h.warn("Config comment does not contain valid line");const t=B.substr(0,B.length-" // _twconfig_".length);let e;try{if(e=s.parse(t),!e||"object"!=typeof e)throw new Error("Invalid object")}catch(A){return void h.warn("Config comment has invalid JSON",A)}"number"==typeof e.framerate&&this.setFramerate(e.framerate),e.turbo&&(this.turboMode=!0,this.emit(L.TURBO_MODE_ON)),e.interpolation&&this.setInterpolation(!0),e.runtimeOptions&&this.setRuntimeOptions(e.runtimeOptions),e.hq&&this.renderer&&this.renderer.setUseHighQualityRender(!0);const g=+e.width||this.stageWidth,i=+e.height||this.stageHeight;g===this.stageWidth&&i===this.stageHeight||this.setStageSize(g,i)}_generateAllProjectOptions(){return{framerate:this.frameLoop.framerate,runtimeOptions:this.runtimeOptions,interpolation:this.interpolationEnabled,turbo:this.turboMode,hq:!!this.renderer&&this.renderer.useHighQualityRender,width:this.stageWidth,height:this.stageHeight}}generateDifferingProjectOptions(){const A=(B,t)=>{const e={};for(const g of Object.keys(t)){const i=t[g],Q=B[g];if("object"==typeof i&&i){const B=A(Q,i);Object.keys(B).length>0&&(e[g]=B)}else i!==Q&&(e[g]=i)}return e};return A(this._defaultStoredSettings,this._generateAllProjectOptions())}storeProjectOptions(){const A=this.generateDifferingProjectOptions(),B="Configuration for https://turbowarp.org/\nYou can move, resize, and minimize this comment, but don't edit it by hand. This comment can be deleted to remove the stored settings.\n".concat(s.stringify(A)).concat(" // _twconfig_"),t=this.findProjectOptionsComment();if(t)t.text=B;else{this.getTargetForStage().createComment(p(),null,B,50,50,350,170,!1)}this.emitProjectChanged()}precompile(){this.allScriptsDo((A,B)=>{const t=B.blocks.getBlock(A);if(this.getIsHat(t.opcode)){const t=new Y(A);t.target=B,t.blockContainer=B.blocks,t.tryCompile()}})}enableDebug(){this.resetAllCaches(),this.debug=!0}_updateGlows(A){const B=[];B.push.apply(B,this.threads),A&&B.push.apply(B,A);const t=[],e=[];for(let A=0;A0&&this.emit(L.PROJECT_RUN_START),this._nonMonitorThreadCount>0&&0===A&&this.emit(L.PROJECT_RUN_STOP),this._nonMonitorThreadCount=A}quietGlow(A){const B=this._scriptGlowsPreviousFrame.indexOf(A);B>-1&&this._scriptGlowsPreviousFrame.splice(B,1)}glowBlock(A,B){B?this.emit(L.BLOCK_GLOW_ON,{id:A}):this.emit(L.BLOCK_GLOW_OFF,{id:A})}glowScript(A,B){B?this.emit(L.SCRIPT_GLOW_ON,{id:A}):this.emit(L.SCRIPT_GLOW_OFF,{id:A})}emitBlockDragUpdate(A){this.emit(L.BLOCK_DRAG_UPDATE,A)}emitBlockEndDrag(A,B){this.emit(L.BLOCK_DRAG_END,A,B)}visualReport(A,B){this.emit(L.VISUAL_REPORT,{id:A,value:String(B)})}requestAddMonitor(A){const B=A.get("id");this.requestUpdateMonitor(A)||(this._monitorState=this._monitorState.set(B,A))}requestUpdateMonitor(A){const B=A.get("id");return!!this._monitorState.has(B)&&(this._monitorState=this._monitorState.set(B,this._monitorState.get(B).mergeWith((A,B)=>null==B?A:B,A)),!0)}requestRemoveMonitor(A){this._monitorState=this._monitorState.delete(A)}requestHideMonitor(A){return this.requestUpdateMonitor(new Map([["id",A],["visible",!1]]))}requestShowMonitor(A){return this.requestUpdateMonitor(new Map([["id",A],["visible",!0]]))}requestRemoveMonitorByTargetId(A){this._monitorState=this._monitorState.filterNot(B=>B.targetId===A)}getTargetById(A){for(let B=0;BA.id===B);if(!e)return;const g=e.blocks.find(A=>A.info.opcode===t);return g?{category:"extension",label:"".concat(e.name,": ").concat(g.info.text)}:void 0}createNewGlobalVariable(A,B,t){const e="string"==typeof t?t:D.SCALAR_TYPE,g=this.getAllVarNamesOfType(e),i=R.unusedName(A,g),Q=new D(B||p(),i,e);return this.getTargetForStage().variables[Q.id]=Q,Q}requestRedraw(){this.redrawRequested=!0}requestTargetsUpdate(A){A.isOriginal&&(this._refreshTargets=!0)}requestBlocksUpdate(){this.emit(L.BLOCKS_NEED_UPDATE)}requestToolboxExtensionsUpdate(){this.emit(L.TOOLBOX_EXTENSIONS_NEED_UPDATE)}start(){this.frameLoop.running||(this.frameLoop.start(),this.emit(L.RUNTIME_STARTED))}stop(){this.frameLoop.running&&(this.frameLoop.stop(),this.emit(L.RUNTIME_STOPPED))}enableProfiling(A){o.available()&&(this.profiler=new o(A))}disableProfiling(){this.profiler=null}updateCurrentMSecs(){this.currentMSecs=Date.now()}}A.exports=L},function(A,B,t){"use strict";t.r(B),t.d(B,"_parse",(function(){return e})),t.d(B,"parse",(function(){return g})),t.d(B,"stringify",(function(){return i}));const e=A=>{let B=0;const t=t=>{const{line:e,column:g}=(()=>{let t=0,e=0;for(let g=0;g(B>=A.length&&t("Unexpected end of input"),A[B]),g=()=>e(B),i=()=>{B++},Q=A=>{g()!==A&&t(`Expected '${A}' but found '${g()}'`),i()},s=(t=1,g=1)=>{if(B+g+t>A.length)return"";if(1===t)return e(B+g);let i="";for(let A=0;A{for(;;)if(/\s/.test(g()))i();else{const A=s(2,0);if("//"===A)for(i(),i();"\n"!==g();)i();else{if("/*"!==A)break;for(i(),i();"*/"!==s(2,0);)i();i(),i()}}},r=()=>{n();switch(g()){case'"':return o();case"{":return C();case"[":return w();case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"-":return E();default:return c()}},c=()=>{if("null"===s(4,0)){for(let A=0;A<4;A++)i();return null}if("true"===s(4,0)){for(let A=0;A<4;A++)i();return!0}if("false"===s(5,0)){for(let A=0;A<5;A++)i();return!1}if("Infinity"===s(8,0)){for(let A=0;A<8;A++)i();return 1/0}if("NaN"===s(3,0)){for(let A=0;A<3;A++)i();return NaN}t(`Unexpected character '${g()}'`)},E=()=>{if("-Infinity"===s(9,0)){for(let A=0;A<9;A++)i();return-1/0}let A="";for(;A+=g(),/[\d.e+-]/i.test(s());)i();i();const B=+A;return Number.isNaN(B)&&t("Not a number: "+A),B},o=()=>{Q('"');let A="";for(;;){const B=g();if('"'===B)break;if("\\"===B)switch(i(),g()){case'"':A+='"';break;case"/":A+="/";break;case"\\":A+="\\";break;case"b":A+="\b";break;case"f":A+="\f";break;case"n":A+="\n";break;case"r":A+="\r";break;case"t":A+="\t";break;case"u":{let B="";for(let A=0;A<4;A++){i();const A=g();/[0-9a-f]/i.test(A)||t("Invalid hex code: "+A),B+=A}const e=Number.parseInt(B,16);A+=String.fromCharCode(e);break}default:t("Invalid escape code: \\"+g())}else A+=B;i()}return Q('"'),A},w=()=>{Q("["),n();const A=[];for(;n(),"]"!==g();){const B=r();if(A.push(B),n(),","!==g())break;i()}return Q("]"),A},C=()=>{Q("{"),n();const A={};for(;n(),"}"!==g();){const B=o();n(),Q(":");const t=r();if(A[B]=t,n(),","!==g())break;i()}return Q("}"),A};return r()},g=A=>{try{return JSON.parse(A)}catch(B){try{return e(A)}catch(A){throw B}}},i=A=>{if("string"==typeof A)return JSON.stringify(A);if("number"==typeof A||"boolean"==typeof A)return A.toString();if(null==A||"symbol"==typeof A)return"null";if(Array.isArray(A))return`[${A.map(A=>i(A)).join(",")}]`;if("object"==typeof A){let B="{",t=!0;const e=Object.keys(A);for(let g=0;g {\n // The real time is not checked on every call for performance.\n stuckCounter++;\n if (stuckCounter === 100) {\n stuckCounter = 0;\n return globalState.thread.target.runtime.sequencer.timer.timeElapsed() > 500;\n }\n return false;\n};",i.startHats="const startHats = (requestedHat, optMatchFields) => {\n const thread = globalState.thread;\n const threads = thread.target.runtime.startHats(requestedHat, optMatchFields);\n return threads;\n}",i.waitThreads="const waitThreads = function*(threads) {\n const thread = globalState.thread;\n const runtime = thread.target.runtime;\n\n while (true) {\n // determine whether any threads are running\n let anyRunning = false;\n for (let i = 0; i < threads.length; i++) {\n if (runtime.threads.indexOf(threads[i]) !== -1) {\n anyRunning = true;\n break;\n }\n }\n if (!anyRunning) {\n // all threads are finished, can resume\n return;\n }\n\n let allWaiting = true;\n for (let i = 0; i < threads.length; i++) {\n if (!runtime.isWaitingThread(threads[i])) {\n allWaiting = false;\n break;\n }\n }\n if (allWaiting) {\n thread.status = 3; // STATUS_YIELD_TICK\n }\n\n yield;\n }\n}",i.executeInCompatibilityLayer="let hasResumedFromPromise = false;\nconst waitPromise = function*(promise) {\n const thread = globalState.thread;\n let returnValue;\n\n promise\n .then(value => {\n returnValue = value;\n thread.status = 0; // STATUS_RUNNING\n })\n .catch(error => {\n thread.status = 0; // STATUS_RUNNING\n globalState.log.warn('Promise rejected in compiled script:', error);\n });\n\n // enter STATUS_PROMISE_WAIT and yield\n // this will stop script execution until the promise handlers reset the thread status\n thread.status = 1; // STATUS_PROMISE_WAIT\n yield;\n\n return returnValue;\n};\nconst isPromise = value => (\n // see engine/execute.js\n value !== null &&\n typeof value === 'object' &&\n typeof value.then === 'function'\n);\nconst executeInCompatibilityLayer = function*(inputs, blockFunction, isWarp, useFlags, blockId) {\n const thread = globalState.thread;\n\n // reset the stackframe\n // we only ever use one stackframe at a time, so this shouldn't cause issues\n thread.stackFrames[thread.stackFrames.length - 1].reuse(isWarp);\n\n const executeBlock = () => {\n const blockUtility = globalState.blockUtility;\n blockUtility.init(thread, blockId);\n return blockFunction(inputs, blockUtility);\n };\n\n let returnValue = executeBlock();\n\n if (isPromise(returnValue)) {\n returnValue = yield* waitPromise(returnValue);\n if (useFlags) {\n hasResumedFromPromise = true;\n }\n return returnValue;\n }\n\n if (thread.status === 1 /* STATUS_PROMISE_WAIT */) {\n // Something external is forcing us to stop\n yield;\n // Make up a return value because whatever is forcing us to stop can't specify one\n return '';\n }\n\n while (thread.status === 2 /* STATUS_YIELD */ || thread.status === 3 /* STATUS_YIELD_TICK */) {\n // Yielded threads will run next iteration.\n if (thread.status === 2 /* STATUS_YIELD */) {\n thread.status = 0; // STATUS_RUNNING\n // Yield back to the event loop when stuck or not in warp mode.\n if (!isWarp || isStuck()) {\n yield;\n }\n } else {\n // status is STATUS_YIELD_TICK, always yield to the event loop\n yield;\n }\n\n returnValue = executeBlock();\n\n if (isPromise(returnValue)) {\n returnValue = yield* waitPromise(returnValue);\n if (useFlags) {\n hasResumedFromPromise = true;\n }\n return returnValue;\n }\n\n if (thread.status === 1 /* STATUS_PROMISE_WAIT */) {\n yield;\n return '';\n }\n }\n\n // todo: do we have to do anything extra if status is STATUS_DONE?\n\n return returnValue;\n}",i.retire="const retire = () => {\n const thread = globalState.thread;\n thread.target.runtime.sequencer.retireThread(thread);\n}",i.toBoolean="const toBoolean = value => {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'string') {\n if (value === '' || value === '0' || value.toLowerCase() === 'false') {\n return false;\n }\n return true;\n }\n return !!value;\n}",i.limitPrecision="const limitPrecision = value => {\n const rounded = Math.round(value);\n const delta = value - rounded;\n return (Math.abs(delta) < 1e-9) ? rounded : value;\n}",g+="const isWhiteSpace = val => typeof val === 'string' && val.trim().length === 0;",g+="const compareEqualSlow = (v1, v2) => {\n const n1 = +v1;\n if (isNaN(n1) || (n1 === 0 && isWhiteSpace(v1))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n const n2 = +v2;\n if (isNaN(n2) || (n2 === 0 && isWhiteSpace(v2))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n return n1 === n2;\n};\nconst compareEqual = (v1, v2) => (typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) && !isNaN(v2) || v1 === v2) ? v1 === v2 : compareEqualSlow(v1, v2);",i.compareGreaterThan="const compareGreaterThanSlow = (v1, v2) => {\n let n1 = +v1;\n let n2 = +v2;\n if (n1 === 0 && isWhiteSpace(v1)) {\n n1 = NaN;\n } else if (n2 === 0 && isWhiteSpace(v2)) {\n n2 = NaN;\n }\n if (isNaN(n1) || isNaN(n2)) {\n const s1 = ('' + v1).toLowerCase();\n const s2 = ('' + v2).toLowerCase();\n return s1 > s2;\n }\n return n1 > n2;\n};\nconst compareGreaterThan = (v1, v2) => typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) ? v1 > v2 : compareGreaterThanSlow(v1, v2)",i.compareLessThan="const compareLessThanSlow = (v1, v2) => {\n let n1 = +v1;\n let n2 = +v2;\n if (n1 === 0 && isWhiteSpace(v1)) {\n n1 = NaN;\n } else if (n2 === 0 && isWhiteSpace(v2)) {\n n2 = NaN;\n }\n if (isNaN(n1) || isNaN(n2)) {\n const s1 = ('' + v1).toLowerCase();\n const s2 = ('' + v2).toLowerCase();\n return s1 < s2;\n }\n return n1 < n2;\n};\nconst compareLessThan = (v1, v2) => typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v2) ? v1 < v2 : compareLessThanSlow(v1, v2)",i.randomInt="const randomInt = (low, high) => low + Math.floor(Math.random() * ((high + 1) - low))",i.randomFloat="const randomFloat = (low, high) => (Math.random() * (high - low)) + low",i.timer="const timer = () => {\n const t = new globalState.Timer({\n now: () => globalState.thread.target.runtime.currentMSecs\n });\n t.start();\n return t;\n}",i.daysSince2000="const daysSince2000 = () => (Date.now() - 946684800000) / (24 * 60 * 60 * 1000)",i.distance="const distance = menu => {\n const thread = globalState.thread;\n if (thread.target.isStage) return 10000;\n\n let targetX = 0;\n let targetY = 0;\n if (menu === '_mouse_') {\n targetX = thread.target.runtime.ioDevices.mouse.getScratchX();\n targetY = thread.target.runtime.ioDevices.mouse.getScratchY();\n } else {\n const distTarget = thread.target.runtime.getSpriteTargetByName(menu);\n if (!distTarget) return 10000;\n targetX = distTarget.x;\n targetY = distTarget.y;\n }\n\n const dx = thread.target.x - targetX;\n const dy = thread.target.y - targetY;\n return Math.sqrt((dx * dx) + (dy * dy));\n}",g+="const listIndexSlow = (index, length) => {\n if (index === 'last') {\n return length - 1;\n } else if (index === 'random' || index === 'any') {\n if (length > 0) {\n return (Math.random() * length) | 0;\n }\n return -1;\n }\n index = (+index || 0) | 0;\n if (index < 1 || index > length) {\n return -1;\n }\n return index - 1;\n};\nconst listIndex = (index, length) => {\n if (typeof index !== 'number') {\n return listIndexSlow(index, length);\n }\n index = index | 0;\n return index < 1 || index > length ? -1 : index - 1;\n};",i.listGet="const listGet = (list, idx) => {\n const index = listIndex(idx, list.length);\n if (index === -1) {\n return '';\n }\n return list[index];\n}",i.listReplace="const listReplace = (list, idx, value) => {\n const index = listIndex(idx, list.value.length);\n if (index === -1) {\n return;\n }\n list.value[index] = value;\n list._monitorUpToDate = false;\n}",i.listInsert="const listInsert = (list, idx, value) => {\n const index = listIndex(idx, list.value.length + 1);\n if (index === -1) {\n return;\n }\n list.value.splice(index, 0, value);\n list._monitorUpToDate = false;\n}",i.listDelete="const listDelete = (list, idx) => {\n if (idx === 'all') {\n list.value = [];\n return;\n }\n const index = listIndex(idx, list.value.length);\n if (index === -1) {\n return;\n }\n list.value.splice(index, 1);\n list._monitorUpToDate = false;\n}",i.listContains="const listContains = (list, item) => {\n // TODO: evaluate whether indexOf is worthwhile here\n if (list.value.indexOf(item) !== -1) {\n return true;\n }\n for (let i = 0; i < list.value.length; i++) {\n if (compareEqual(list.value[i], item)) {\n return true;\n }\n }\n return false;\n}",i.listIndexOf="const listIndexOf = (list, item) => {\n for (let i = 0; i < list.value.length; i++) {\n if (compareEqual(list.value[i], item)) {\n return i + 1;\n }\n }\n return 0;\n}",i.listContents="const listContents = list => {\n for (let i = 0; i < list.value.length; i++) {\n const listItem = list.value[i];\n // this is an intentional break from what scratch 3 does to address our automatic string -> number conversions\n // it fixes more than it breaks\n if ((listItem + '').length !== 1) {\n return list.value.join(' ');\n }\n }\n return list.value.join('');\n}",i.colorToList="const colorToList = color => globalState.Cast.toRgbColorList(color)",i.mod="const mod = (n, modulus) => {\n let result = n % modulus;\n if (result / modulus < 0) result += modulus;\n return result;\n}",i.tan="const tan = (angle) => {\n switch (angle % 360) {\n case -270: case 90: return Infinity;\n case -90: case 270: return -Infinity;\n }\n return Math.round(Math.tan((Math.PI * angle) / 180) * 1e10) / 1e10;\n}";const Q=A=>{e.thread=A,A.generator.next()};Q.scopedEval=A=>{const B=(A=>{let B="let stuckCounter = 0;\nconst isStuck = () => {\n // The real time is not checked on every call for performance.\n stuckCounter++;\n if (stuckCounter === 100) {\n stuckCounter = 0;\n return globalState.thread.target.runtime.sequencer.timer.timeElapsed() > 500;\n }\n return false;\n};const isWhiteSpace = val => typeof val === 'string' && val.trim().length === 0;const compareEqualSlow = (v1, v2) => {\n const n1 = +v1;\n if (isNaN(n1) || (n1 === 0 && isWhiteSpace(v1))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n const n2 = +v2;\n if (isNaN(n2) || (n2 === 0 && isWhiteSpace(v2))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n return n1 === n2;\n};\nconst compareEqual = (v1, v2) => (typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) && !isNaN(v2) || v1 === v2) ? v1 === v2 : compareEqualSlow(v1, v2);const listIndexSlow = (index, length) => {\n if (index === 'last') {\n return length - 1;\n } else if (index === 'random' || index === 'any') {\n if (length > 0) {\n return (Math.random() * length) | 0;\n }\n return -1;\n }\n index = (+index || 0) | 0;\n if (index < 1 || index > length) {\n return -1;\n }\n return index - 1;\n};\nconst listIndex = (index, length) => {\n if (typeof index !== 'number') {\n return listIndexSlow(index, length);\n }\n index = index | 0;\n return index < 1 || index > length ? -1 : index - 1;\n};";for(const t of Object.keys(i))A.includes(t)&&(B+="".concat(i[t],";"));return B+="return ".concat(A),B})(A);try{return new Function("globalState",B)(e)}catch(A){throw e.log.error("was unable to compile script",B),A}},Q.runtimeFunctions=i,A.exports=Q},function(A,B,t){const e=t(30),g=t(15);A.exports=class{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,B=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.sequencer=A,this.thread=B,this._nowObj={now:()=>this.sequencer.runtime.currentMSecs}}get target(){return this.thread.target}get runtime(){return this.sequencer.runtime}get nowObj(){return this.runtime?this._nowObj:null}get stackFrame(){const A=this.thread.peekStackFrame();return null===A.executionContext&&(A.executionContext={}),A.executionContext}stackTimerFinished(){return!(this.stackFrame.timer.timeElapsed(){t.status===Q.STATUS_RUNNING&&(t.status=Q.STATUS_PROMISE_WAIT),A.then(A=>{if(E(A,B,t,e,g),g&&!e._isHat){let A,B;do{const e=t.popStack();if(null===e)return;if(B=t.target.blocks.getNextBlock(e),null!==B)break;A=t.peekStackFrame()}while(null!==A&&!A.isLoop);t.pushStack(B)}},A=>{i.warn("Primitive rejected promise: ",A),t.status=Q.STATUS_RUNNING,t.popStack()})};class w{constructor(A,B){this.id=B.id,this.opcode=B.opcode,this.fields=B.fields,this.inputs=B.inputs,this.mutation=B.mutation,this._profiler=null,this._profilerFrame=null,this._isHat=!1,this._blockFunction=null,this._definedBlockFunction=!1,this._isShadowBlock=!1,this._shadowValue=null,this._fields=Object.assign({},this.fields),this._inputs=Object.assign({},this.inputs),this._argValues={mutation:this.mutation},this._parentKey=null,this._parentValues=null,this._ops=[];const{runtime:t}=r.sequencer,{opcode:e,fields:i,inputs:Q}=this;this._isHat=t.getIsHat(e),this._blockFunction=t.getOpcodeFunction(e),this._definedBlockFunction=void 0!==this._blockFunction;const s=Object.keys(i);this._isShadowBlock=!this._definedBlockFunction&&1===s.length&&0===Object.keys(Q).length,this._shadowValue=this._isShadowBlock&&i[s[0]].value;for(const A in i)this._argValues[A]="VARIABLE"===A||"LIST"===A||"BROADCAST_OPTION"===A?{id:i[A].id,name:i[A].value}:i[A].value;if(delete this._inputs.custom_block,"BROADCAST_INPUT"in this._inputs){this._argValues.BROADCAST_OPTION={id:null,name:null};const B=this._inputs.BROADCAST_INPUT;if(B.block===B.shadow){const t=A.getBlock(B.shadow).fields.BROADCAST_OPTION;this._argValues.BROADCAST_OPTION.id=t.id,this._argValues.BROADCAST_OPTION.name=t.value,delete this._inputs.BROADCAST_INPUT}}for(const B in this._inputs){const t=this._inputs[B];if(t.block){const e=g.getCached(A,t.block,w);if(e._isHat)continue;this._ops.push(...e._ops),e._parentKey=B,e._parentValues=this._argValues,e._isShadowBlock&&(this._argValues[B]=e._shadowValue)}}this._definedBlockFunction&&this._ops.push(this)}}A.exports=function(A,B){const t=A.runtime;r.sequencer=A,r.thread=B;const e=B.peekStack(),i=B.peekStackFrame();let s=B.blockContainer,C=g.getCached(s,e,w);if(null===C&&(s=t.flyoutBlocks,C=g.getCached(s,e,w),null===C))return void A.retireThread(B);const a=C._ops,I=a.length;let Y=0;if(null!==i.reported){const A=i.reported;for(;YA.id===B);if(e){const A=e._parentKey,B=e._parentValues;"BROADCAST_INPUT"===A?(B.BROADCAST_OPTION.id=null,B.BROADCAST_OPTION.name=n.toString(t)):B[A]=t}}if(A.length>0){const B=A.reverse().find(A=>a.find(B=>B.id===A.opCached));Y=B?a.findIndex(A=>A.id===B.opCached)+1:0}if(null!==B.justReported&&a[Y]&&a[Y].id===i.reporting){const A=a[Y],t=B.justReported;B.justReported=null;const e=A._parentKey,g=A._parentValues;"BROADCAST_INPUT"===e?(g.BROADCAST_OPTION.id=null,g.BROADCAST_OPTION.name=n.toString(t)):g[e]=t,Y+=1}i.reporting=null,i.reported=null}const h=Y;for(;Y{const B=A._parentKey,t=A._parentValues;return"BROADCAST_INPUT"===B?{opCached:A.id,inputValue:t[B].BROADCAST_OPTION.name}:{opCached:A.id,inputValue:t[B]}});break}if(B.status===Q.STATUS_RUNNING)if(t)E(w,A,B,e,t);else{const A=e._parentKey,B=e._parentValues;"BROADCAST_INPUT"===A?(B.BROADCAST_OPTION.id=null,B.BROADCAST_OPTION.name=n.toString(w)):B[A]=w}}var M;if(null!==t.profiler){C._profiler!==t.profiler&&function(A,B){B._profiler=A,-1===c&&(c=A.idByName("blockFunction"));const t=B._ops;for(let B=0;Bthis._setupPreview()):null}disableVideo(){if(this._disablePreview(),!this.provider)return null;this.provider.disableVideo()}getFrame(A){let{dimensions:B=g.DIMENSIONS,mirror:t=this.mirror,format:e=g.FORMAT_IMAGE_DATA,cacheTimeout:i=this._frameCacheTimeout}=A;return this.provider?this.provider.getFrame({dimensions:B,mirror:t,format:e,cacheTimeout:i}):null}setPreviewGhost(A){this._ghost=A,-1!==this._drawable&&this.runtime.renderer.updateDrawableEffect(this._drawable,"ghost",this._forceTransparentPreview?100:A)}_disablePreview(){-1!==this._skinId&&(this.runtime.renderer.updateBitmapSkin(this._skinId,new ImageData(...g.DIMENSIONS),1),this.runtime.renderer.updateDrawableVisible(this._drawable,!1)),this._renderPreviewFrame=null}_setupPreview(){const{renderer:A}=this.runtime;A&&(-1===this._skinId&&-1===this._drawable&&(this._skinId=A.createBitmapSkin(new ImageData(...g.DIMENSIONS),1),this._drawable=A.createDrawable(e.VIDEO_LAYER),A.updateDrawableSkinId(this._drawable,this._skinId),A.markSkinAsPrivate&&A.markSkinAsPrivate(this._skinId)),this._renderPreviewFrame||(A.updateDrawableEffect(this._drawable,"ghost",this._forceTransparentPreview?100:this._ghost),A.updateDrawableVisible(this._drawable,!0),this._renderPreviewFrame=()=>{if(clearTimeout(this._renderPreviewTimeout),!this._renderPreviewFrame)return;this._renderPreviewTimeout=setTimeout(this._renderPreviewFrame,this.runtime.currentStepTime);const B=this.getFrame({format:g.FORMAT_IMAGE_DATA,cacheTimeout:this.runtime.currentStepTime});B?(A.updateBitmapSkin(this._skinId,B,1),this.runtime.requestRedraw()):A.updateBitmapSkin(this._skinId,new ImageData(...g.DIMENSIONS),1)},this._renderPreviewFrame()))}get videoReady(){return!!this.provider&&this.provider.videoReady}postData(A){let{forceTransparentPreview:B}=A;this._forceTransparentPreview=B,this.setPreviewGhost(this._ghost)}}A.exports=g},function(A,B){A.exports=class{constructor(A,B){this.callback=A,this.maxConcurrent=B,this._current=0,this._queue=[]}do(){for(var A=arguments.length,B=new Array(A),t=0;t{this._queue.push([A,t,B]),this._startNext()})}_startNext(){if(this._current>=this.maxConcurrent||0===this._queue.length)return;this._current++;const[A,B,t]=this._queue.shift();this.callback.apply(null,t).then(B=>{A(B),this._current--,this._startNext()}).catch(A=>{B(A),this._current--,this._startNext()})}}},function(A,B){A.exports={generateExtensionId:A=>{const B=A.replace(/[^a-z0-9]/gi,"").toLowerCase();return"sbx".concat(B)},argumentIndexToId:A=>A.toString()}},function(A,B,t){"use strict";var e=window.URL||window.webkitURL;A.exports=function(A,B){try{try{var t;try{(t=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(A),t=t.getBlob()}catch(B){t=new Blob([A])}return new Worker(e.createObjectURL(t))}catch(B){return new Worker("data:application/javascript,"+encodeURIComponent(A))}}catch(A){if(!B)throw Error("Inline worker is not supported");return new Worker(B)}}},function(A,B,t){const e=t(6);A.exports=A=>{const B={};for(let t=0;t{const t=[],e=A=>{A.localName!==B&&void 0!==B||!A.getAttribute||t.push(A);for(let B=0;B{const B=document.createElement("span"),t=A.outerHTML,g=e.sanitize(t,{USE_PROFILES:{svg:!0},FORBID_TAGS:["a","audio","canvas","video"],ADD_DATA_URI_TAGS:["image"]});let i,Q;try{B.innerHTML=g,document.body.appendChild(B),i=B.children[0].getBBox()}finally{document.body.removeChild(B)}Q=0===i.width||0===i.height?0:(A=>{let B=0;const t=A=>{A.getAttribute&&(A.getAttribute("stroke")&&(B=Math.max(B,1)),A.getAttribute("stroke-width")&&(B=Math.max(B,Number(A.getAttribute("stroke-width"))||0)));for(let B=0;B{B&&(A=>{const B=n(A,"linearGradient");for(const A of B)A.getAttribute("x2")||A.setAttribute("x2","0")})(A),s(A,window),(A=>{const B=n(A,"image"),t="image-rendering: optimizespeed; image-rendering: pixelated;";for(const A of B)A.getAttribute("style")?A.setAttribute("style","".concat(t," ").concat(A.getAttribute("style"))):A.setAttribute("style",t)})(A),B?((A=>{const B=[],t=A=>{"text"===A.localName&&B.push(A);for(let B=0;B{const B=n(A);for(const A of B){if(!A.style)continue;const B=A.style.stroke||A.getAttribute("stroke");B&&B.match(/^url\(#.*\)$/)&&(A.style["stroke-linejoin"]="round",A.style["stroke-linecap"]="round")}})(A)):A.getAttribute("viewBox")?A.getAttribute("width")&&A.getAttribute("height")||(A.setAttribute("width",A.viewBox.baseVal.width),A.setAttribute("height",A.viewBox.baseVal.height)):r(A)};A.exports=(A,B)=>{const t=new DOMParser;A=Q(A);const e=t.parseFromString(A,"text/xml");if(e.childNodes.length<1||"svg"!==e.documentElement.localName)throw new Error("Document does not appear to be SVG.");const g=e.documentElement;return c(g,B),g}},function(A,B){A.exports=function(A){const B=[],t=A=>{"text"===A.localName&&B.push(A);for(let B=0;B]*>/);B&&-1===B[0].indexOf("xmlns=")&&(A=A.replace("]+?xlink:href=["'])data:img\/png/g,(A,B)=>"".concat(B,"data:image/png")));const t=/(<[^>]+?xmlns:(?!xml=)[^ ]+=)"http:\/\/www.w3.org\/XML\/1998\/namespace"/g;return null!==A.match(t)&&(A=A.replace(t,(A,B)=>"".concat(B,'"http://dummy.namespace"'))),A=(A=(A=A.replace(/<(\/?)\s*svg:/g,"<$1")).replace(/[\s\S]*<\/metadata>/,"")).replace(/[\s\S]*<\/script>/,"G. The B>G case\n\t// will be calculated in the negative and fed through abs() in the hue calculation at the end.\n\t// See also: https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma\n\tconst vec4 hueOffsets = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n\n\t// temp1.xy = sort B & G (largest first)\n\t// temp1.z = the hue offset we\'ll use if it turns out that R is the largest component (M==R)\n\t// temp1.w = the hue offset we\'ll use if it turns out that R is not the largest component (M==G or M==B)\n\tvec4 temp1 = rgb.b > rgb.g ? vec4(rgb.bg, hueOffsets.wz) : vec4(rgb.gb, hueOffsets.xy);\n\n\t// temp2.x = the largest component of RGB ("M" / "Max")\n\t// temp2.yw = the smaller components of RGB, ordered for the hue calculation (not necessarily sorted by magnitude!)\n\t// temp2.z = the hue offset we\'ll use in the hue calculation\n\tvec4 temp2 = rgb.r > temp1.x ? vec4(rgb.r, temp1.yzx) : vec4(temp1.xyw, rgb.r);\n\n\t// m = the smallest component of RGB ("min")\n\tfloat m = min(temp2.y, temp2.w);\n\n\t// Chroma = M - m\n\tfloat C = temp2.x - m;\n\n\t// Value = M\n\tfloat V = temp2.x;\n\n\treturn vec3(\n\t\tabs(temp2.z + (temp2.w - temp2.y) / (6.0 * C + epsilon)), // Hue\n\t\tC / (temp2.x + epsilon), // Saturation\n\t\tV); // Value\n}\n\nvec3 convertHue2RGB(float hue)\n{\n\tfloat r = abs(hue * 6.0 - 3.0) - 1.0;\n\tfloat g = 2.0 - abs(hue * 6.0 - 2.0);\n\tfloat b = 2.0 - abs(hue * 6.0 - 4.0);\n\treturn clamp(vec3(r, g, b), 0.0, 1.0);\n}\n\nvec3 convertHSV2RGB(vec3 hsv)\n{\n\tvec3 rgb = convertHue2RGB(hsv.x);\n\tfloat c = hsv.z * hsv.y;\n\treturn rgb * c + hsv.z - c;\n}\n#endif // !defined(DRAW_MODE_silhouette) && (defined(ENABLE_color))\n\nconst vec2 kCenter = vec2(0.5, 0.5);\n\nvoid main()\n{\n\t#if !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\n\tvec2 texcoord0 = v_texCoord;\n\n\t#ifdef ENABLE_mosaic\n\ttexcoord0 = fract(u_mosaic * texcoord0);\n\t#endif // ENABLE_mosaic\n\n\t#ifdef ENABLE_pixelate\n\t{\n\t\t// TODO: clean up "pixel" edges\n\t\tvec2 pixelTexelSize = u_skinSize / u_pixelate;\n\t\ttexcoord0 = (floor(texcoord0 * pixelTexelSize) + kCenter) / pixelTexelSize;\n\t}\n\t#endif // ENABLE_pixelate\n\n\t#ifdef ENABLE_whirl\n\t{\n\t\tconst float kRadius = 0.5;\n\t\tvec2 offset = texcoord0 - kCenter;\n\t\tfloat offsetMagnitude = length(offset);\n\t\tfloat whirlFactor = max(1.0 - (offsetMagnitude / kRadius), 0.0);\n\t\tfloat whirlActual = u_whirl * whirlFactor * whirlFactor;\n\t\tfloat sinWhirl = sin(whirlActual);\n\t\tfloat cosWhirl = cos(whirlActual);\n\t\tmat2 rotationMatrix = mat2(\n\t\t\tcosWhirl, -sinWhirl,\n\t\t\tsinWhirl, cosWhirl\n\t\t);\n\n\t\ttexcoord0 = rotationMatrix * offset + kCenter;\n\t}\n\t#endif // ENABLE_whirl\n\n\t#ifdef ENABLE_fisheye\n\t{\n\t\tvec2 vec = (texcoord0 - kCenter) / kCenter;\n\t\tfloat vecLength = length(vec);\n\t\tfloat r = pow(min(vecLength, 1.0), u_fisheye) * max(1.0, vecLength);\n\t\tvec2 unit = vec / vecLength;\n\n\t\ttexcoord0 = kCenter + r * unit * kCenter;\n\t}\n\t#endif // ENABLE_fisheye\n\n\tgl_FragColor = texture2D(u_skin, texcoord0);\n\n\t#if defined(ENABLE_color) || defined(ENABLE_brightness)\n\t// Divide premultiplied alpha values for proper color processing\n\t// Add epsilon to avoid dividing by 0 for fully transparent pixels\n\tgl_FragColor.rgb = clamp(gl_FragColor.rgb / (gl_FragColor.a + epsilon), 0.0, 1.0);\n\n\t#ifdef ENABLE_color\n\t{\n\t\tvec3 hsv = convertRGB2HSV(gl_FragColor.xyz);\n\n\t\t// this code forces grayscale values to be slightly saturated\n\t\t// so that some slight change of hue will be visible\n\t\tconst float minLightness = 0.11 / 2.0;\n\t\tconst float minSaturation = 0.09;\n\t\tif (hsv.z < minLightness) hsv = vec3(0.0, 1.0, minLightness);\n\t\telse if (hsv.y < minSaturation) hsv = vec3(0.0, minSaturation, hsv.z);\n\n\t\thsv.x = mod(hsv.x + u_color, 1.0);\n\t\tif (hsv.x < 0.0) hsv.x += 1.0;\n\n\t\tgl_FragColor.rgb = convertHSV2RGB(hsv);\n\t}\n\t#endif // ENABLE_color\n\n\t#ifdef ENABLE_brightness\n\tgl_FragColor.rgb = clamp(gl_FragColor.rgb + vec3(u_brightness), vec3(0), vec3(1));\n\t#endif // ENABLE_brightness\n\n\t// Re-multiply color values\n\tgl_FragColor.rgb *= gl_FragColor.a + epsilon;\n\n\t#endif // defined(ENABLE_color) || defined(ENABLE_brightness)\n\n\t#ifdef ENABLE_ghost\n\tgl_FragColor *= u_ghost;\n\t#endif // ENABLE_ghost\n\n\t#ifdef DRAW_MODE_silhouette\n\t// Discard fully transparent pixels for stencil test\n\tif (gl_FragColor.a == 0.0) {\n\t\tdiscard;\n\t}\n\t// switch to u_silhouetteColor only AFTER the alpha test\n\tgl_FragColor = u_silhouetteColor;\n\t#else // DRAW_MODE_silhouette\n\n\t#ifdef DRAW_MODE_colorMask\n\tvec3 maskDistance = abs(gl_FragColor.rgb - u_colorMask);\n\tvec3 colorMaskTolerance = vec3(u_colorMaskTolerance, u_colorMaskTolerance, u_colorMaskTolerance);\n\tif (any(greaterThan(maskDistance, colorMaskTolerance)))\n\t{\n\t\tdiscard;\n\t}\n\t#endif // DRAW_MODE_colorMask\n\t#endif // DRAW_MODE_silhouette\n\n\t#ifdef DRAW_MODE_straightAlpha\n\t// Un-premultiply alpha.\n\tgl_FragColor.rgb /= gl_FragColor.a + epsilon;\n\t#endif\n\n\t#endif // !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\n\n\t#ifdef DRAW_MODE_line\n\t// Maaaaagic antialiased-line-with-round-caps shader.\n\n\t// "along-the-lineness". This increases parallel to the line.\n\t// It goes from negative before the start point, to 0.5 through the start to the end, then ramps up again\n\t// past the end point.\n\tfloat d = ((v_texCoord.x - clamp(v_texCoord.x, 0.0, v_lineLength)) * 0.5) + 0.5;\n\n\t// Distance from (0.5, 0.5) to (d, the perpendicular coordinate). When we\'re in the middle of the line,\n\t// d will be 0.5, so the distance will be 0 at points close to the line and will grow at points further from it.\n\t// For the "caps", d will ramp down/up, giving us rounding.\n\t// See https://www.youtube.com/watch?v=PMltMdi1Wzg for a rough outline of the technique used to round the lines.\n\tfloat line = distance(vec2(0.5), vec2(d, v_texCoord.y)) * 2.0;\n\t// Expand out the line by its thickness.\n\tline -= ((v_lineThickness - 1.0) * 0.5);\n\t// Because "distance to the center of the line" decreases the closer we get to the line, but we want more opacity\n\t// the closer we are to the line, invert it.\n\tgl_FragColor = v_lineColor * clamp(1.0 - line, 0.0, 1.0);\n\t#endif // DRAW_MODE_line\n\n\t#ifdef DRAW_MODE_background\n\tgl_FragColor = u_backgroundColor;\n\t#endif\n}\n'},function(A,B){A.exports={rgbToHsv:(A,B)=>{let[t,e,g]=A,i=0;t/=255,e/=255,g/=255;let Q=0;e{let[t,e,g]=A;if(0===e)return B[0]=B[1]=B[2]=255*g+.5,B;t%=1;const i=6*t|0,Q=6*t-i,s=g*(1-e),n=g*(1-e*Q),r=g*(1-e*(1-Q));let c=0,E=0,o=0;switch(i){case 0:c=g,E=r,o=s;break;case 1:c=n,E=g,o=s;break;case 2:c=s,E=g,o=r;break;case 3:c=s,E=n,o=g;break;case 4:c=r,E=s,o=g;break;case 5:c=g,E=s,o=n}return B[0]=255*c+.5,B[1]=255*E+.5,B[2]=255*o+.5,B}}},function(A,B,t){const e=t(10),g=t(35),i=t(34),Q=t(25),s={color4f:[0,0,1,1],diameter:1},n=[0,0,0,0];A.exports=class extends i{constructor(A,B){super(A,B),this._size=null,this._framebuffer=null,this._silhouetteDirty=!1,this._silhouettePixels=null,this._silhouetteImageData=null,this._lineOnBufferDrawRegionId={enter:()=>this._enterDrawLineOnBuffer(),exit:()=>this._exitDrawLineOnBuffer()},this._usePenBufferDrawRegionId={enter:()=>this._enterUsePenBuffer(),exit:()=>this._exitUsePenBuffer()},this.renderQuality=1,this._nativeSize=B.getNativeSize(),this._resetAttributeIndexes(),this.a_lineColor=new Float32Array(65520),this.a_lineThicknessAndLength=new Float32Array(32760),this.a_penPoints=new Float32Array(65520),this.a_position=new Float32Array(32760);for(let A=0;Athis._enterDrawTexture(),exit:()=>this._exitDrawTexture()},this.onNativeSizeChanged=this.onNativeSizeChanged.bind(this),this._renderer.on(g.Events.NativeSizeChanged,this.onNativeSizeChanged),this._setCanvasSize(B.getNativeSize())}dispose(){this._renderer.removeListener(g.Events.NativeSizeChanged,this.onNativeSizeChanged),this._renderer.gl.deleteTexture(this._texture),this._texture=null,super.dispose()}get size(){return this._nativeSize}useNearest(A){return Math.max(A[0],A[1])>=100}getTexture(A){return this._texture}clear(){this._renderer.enterDrawRegion(this._usePenBufferDrawRegionId);const A=this._renderer.gl;A.clearColor(0,0,0,0),A.clear(A.COLOR_BUFFER_BIT),this._silhouetteDirty=!0}drawPoint(A,B,t){this.drawLine(A,B,t,B,t)}drawLine(A,B,t,e,g){const i=A.diameter||s.diameter,Q=1===i||3===i?.5:0;this._drawLineOnBuffer(A,B+Q,t+Q,e+Q,g+Q),this._silhouetteDirty=!0}_enterDrawLineOnBuffer(){this._resetAttributeIndexes();const A=this._renderer.gl;e.bindFramebufferInfo(A,this._framebuffer),A.viewport(0,0,this._size[0],this._size[1]);const B=this._lineShader;A.useProgram(B.program),e.setBuffersAndAttributes(A,B,this._lineBufferInfo);const t={u_skin:this._texture,u_stageSize:this._size};e.setUniforms(B,t)}_exitDrawLineOnBuffer(){this.a_lineColorIndex&&this._flushLines();const A=this._renderer.gl;e.bindFramebufferInfo(A,null)}_enterUsePenBuffer(){e.bindFramebufferInfo(this._renderer.gl,this._framebuffer)}_exitUsePenBuffer(){e.bindFramebufferInfo(this._renderer.gl,null)}_enterDrawTexture(){this._enterUsePenBuffer();const A=this._renderer.gl;A.viewport(0,0,this._size[0],this._size[1]),A.useProgram(this._drawTextureShader.program),e.setBuffersAndAttributes(A,this._drawTextureShader,this._renderer._bufferInfo)}_exitDrawTexture(){this._exitUsePenBuffer()}_drawPenTexture(A){this._renderer.enterDrawRegion(this._drawTextureRegionId);const B=this._renderer.gl,t=this._size[0],g=this._size[1],i={u_skin:A,u_projectionMatrix:e.m4.ortho(t/2,t/-2,g/-2,g/2,-1,1,e.m4.identity()),u_modelMatrix:e.m4.scaling(e.v3.create(t,g,0),e.m4.identity())};e.setTextureParameters(B,A,{minMag:B.NEAREST}),e.setUniforms(this._drawTextureShader,i),e.drawBufferInfo(B,this._renderer._bufferInfo,B.TRIANGLES)}_drawLineOnBuffer(A,B,t,e,g){this._renderer.enterDrawRegion(this._lineOnBufferDrawRegionId),this.a_lineColorIndex+24>65520&&this._flushLines();const i=A.color4f||s.color4f;n[0]=i[0]*i[3],n[1]=i[1]*i[3],n[2]=i[2]*i[3],n[3]=i[3],B*=this.renderQuality,t*=this.renderQuality;const Q=(e*=this.renderQuality)-B,r=(g*=this.renderQuality)-t,c=Math.sqrt(Q*Q+r*r),E=(A.diameter||s.diameter)*this.renderQuality;for(let A=0;A<6;A++)this.a_lineColor[this.a_lineColorIndex]=n[0],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=n[1],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=n[2],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=n[3],this.a_lineColorIndex++,this.a_lineThicknessAndLength[this.a_lineThicknessAndLengthIndex]=E,this.a_lineThicknessAndLengthIndex++,this.a_lineThicknessAndLength[this.a_lineThicknessAndLengthIndex]=c,this.a_lineThicknessAndLengthIndex++,this.a_penPoints[this.a_penPointsIndex]=B,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=-t,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=Q,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=-r,this.a_penPointsIndex++}_resetAttributeIndexes(){this.a_lineColorIndex=0,this.a_lineThicknessAndLengthIndex=0,this.a_penPointsIndex=0}_flushLines(){const A=this._renderer.gl,B=this._lineShader;this.a_lineColorIndex<1e3?(e.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineColor,new Float32Array(this.a_lineColor.buffer,0,this.a_lineColorIndex),0),e.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_penPoints,new Float32Array(this.a_penPoints.buffer,0,this.a_penPointsIndex),0),e.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineThicknessAndLength,new Float32Array(this.a_lineThicknessAndLength.buffer,0,this.a_lineThicknessAndLengthIndex),0)):(e.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineColor,this.a_lineColor),e.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_penPoints,this.a_penPoints),e.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineThicknessAndLength,this.a_lineThicknessAndLength)),e.setBuffersAndAttributes(A,B,this._lineBufferInfo),e.drawBufferInfo(A,this._lineBufferInfo,A.TRIANGLES,this.a_lineThicknessAndLengthIndex/2),this._resetAttributeIndexes(),this._silhouetteDirty=!0}onNativeSizeChanged(A){this._nativeSize=A.newSize,this._setCanvasSize([A.newSize[0]*this.renderQuality,A.newSize[1]*this.renderQuality]),this.emitWasAltered()}_setCanvasSize(A){const[B,t]=A;if(this._size&&this._size[0]===B&&this._size[1]===t)return;this._size=A,this._rotationCenter[0]=this._nativeSize[0]/2,this._rotationCenter[1]=this._nativeSize[1]/2;const g=this._renderer.gl,i=this._texture;this._texture=e.createTexture(g,{mag:g.NEAREST,min:g.NEAREST,wrap:g.CLAMP_TO_EDGE,width:B,height:t});const Q=[{format:g.RGBA,attachment:this._texture}];this._framebuffer,this._framebuffer=e.createFramebufferInfo(g,Q,B,t),g.clearColor(0,0,0,0),g.clear(g.COLOR_BUFFER_BIT),i&&this._drawPenTexture(i),this._silhouettePixels=new Uint8Array(Math.floor(B*t*4)),this._silhouetteImageData=new ImageData(B,t),this._silhouetteDirty=!0}setRenderQuality(A){this.renderQuality!==A&&(this.renderQuality=A,this._setCanvasSize([Math.round(this._nativeSize[0]*A),Math.round(this._nativeSize[1]*A)]))}updateSilhouette(){if(this._silhouetteDirty){this._renderer.enterDrawRegion(this._usePenBufferDrawRegionId);const A=this._renderer.gl;A.readPixels(0,0,this._size[0],this._size[1],A.RGBA,A.UNSIGNED_BYTE,this._silhouettePixels),this._silhouetteImageData.data.set(this._silhouettePixels),this._silhouette.update(this._silhouetteImageData,!0),this._silhouetteDirty=!1}}}},function(A,B,t){const e=t(10),g=t(34),{loadSvgString:i,serializeSvgToString:Q}=t(283),s=t(25);A.exports=class extends g{constructor(A,B){super(A,B),this._svgImage=document.createElement("img"),this._svgImageLoaded=!1,this._size=[0,0],this._canvas=document.createElement("canvas"),this._context=this._canvas.getContext("2d"),this._scaledMIPs=[],this._largestMIPScale=0,this._maxTextureScale=1}dispose(){this.resetMIPs(),super.dispose()}get size(){return[this._size[0],this._size[1]]}useNearest(A,B){return 0==(B.enabledEffects&(s.EFFECT_INFO.fisheye.mask|s.EFFECT_INFO.whirl.mask|s.EFFECT_INFO.pixelate.mask|s.EFFECT_INFO.mosaic.mask))&&(B._direction%90==0&&(Math.abs(A[0])>99&&Math.abs(A[0])<101&&Math.abs(A[1])>99&&Math.abs(A[1])<101))}createMIP(A){const B=this._largestMIPScale0&&void 0!==arguments[0]?arguments[0]:[100,100];this.getTexture(A),this._silhouette.unlazy()}getTexture(A){const B=A?Math.max(Math.abs(A[0]),Math.abs(A[1])):100,t=Math.min(B/100,this._maxTextureScale),e=Math.max(Math.ceil(Math.log2(t))+8,0),g=Math.pow(2,e-8);return this._svgImageLoaded&&!this._scaledMIPs[e]&&(this._scaledMIPs[e]=this.createMIP(g)),this._scaledMIPs[e]||super.getTexture()}resetMIPs(){this._scaledMIPs.forEach(A=>this._renderer.gl.deleteTexture(A)),this._scaledMIPs.length=0,this._largestMIPScale=0}setSVG(A,B){const t=i(A),e=Q(t,!0);this._svgImageLoaded=!1;const{x:g,y:s,width:n,height:r}=t.viewBox.baseVal;this._size[0]=n,this._size[1]=r,this._svgImage.onload=()=>{if(0===n||0===r)return void super.setEmptyImageData();const A=Math.ceil(Math.max(n,r));let t=2;for(;A*t<=2048;t*=2)this._maxTextureScale=t;this.resetMIPs(),void 0===B&&(B=this.calculateRotationCenter()),this._rotationCenter[0]=B[0]-g,this._rotationCenter[1]=B[1]-s,this._svgImageLoaded=!0,this.emitWasAltered()},this._svgImage.src="data:image/svg+xml;utf8,".concat(encodeURIComponent(e))}}},function(A,B,t){const e=t(284),g=t(288),i=t(99),Q=t(96),s=t(98),n=t(46),r=t(97);A.exports={BitmapAdapter:g,convertFonts:r,inlineSvgFonts:i,loadSvgString:Q,serializeSvgToString:s,SvgElement:n,SVGRenderer:e}},function(A,B,t){const e=t(96),g=t(98);A.exports=class{constructor(A){this._canvas=A||document.createElement("canvas"),this._context=this._canvas.getContext("2d"),this._measurements={x:0,y:0,width:0,height:0},this._cachedImage=null,this.loaded=!1}get canvas(){return this._canvas}get size(){return[this._measurements.width,this._measurements.height]}get viewOffset(){return[this._measurements.x,this._measurements.y]}loadString(A,B){this._cachedImage=null;const t=e(A,B);this._svgTag=t,this._measurements={width:t.viewBox.baseVal.width,height:t.viewBox.baseVal.height,x:t.viewBox.baseVal.x,y:t.viewBox.baseVal.y}}loadSVG(A,B,t){this.loadString(A,B),this._createSVGImage(t)}_createSVGImage(A){null===this._cachedImage&&(this._cachedImage=new Image);const B=this._cachedImage;B.onload=()=>{this.loaded=!0,A&&A()};const t=this.toString(!0);B.src="data:image/svg+xml;utf8,".concat(encodeURIComponent(t)),this.loaded=!1}toString(A){return g(this._svgTag,A)}draw(A){if(!this.loaded)throw new Error("SVG image has not finished loading");this._drawFromImage(A)}_drawFromImage(A){if(null===this._cachedImage)return;const B=Number.isFinite(A)?A:1,t=this._measurements;this._canvas.width=t.width*B,this._canvas.height=t.height*B,this._canvas.width<=0||this._canvas.height<=0||this._cachedImage.naturalWidth<=0||this._cachedImage.naturalHeight<=0||(this._context.clearRect(0,0,this._canvas.width,this._canvas.height),this._context.setTransform(B,0,0,B,0,0),this._context.drawImage(this._cachedImage,0,0))}}},function(A,B){A.exports=function(A){const B=A.match(/]*>/);B&&-1===B[0].indexOf("xmlns=")&&(A=A.replace("]+?xlink:href=["'])data:img\/png/g,(A,B)=>"".concat(B,"data:image/png")));const t=/(<[^>]+?xmlns:(?!xml=)[^ ]+=)"http:\/\/www.w3.org\/XML\/1998\/namespace"/g;return null!==A.match(t)&&(A=A.replace(t,(A,B)=>"".concat(B,'"http://dummy.namespace"'))),A=(A=(A=A.replace(/<(\/?)\s*svg:/g,"<$1")).replace(/[\s\S]*<\/metadata>/,"")).replace(/[\s\S]*<\/script>/,"

Flappy bird

Dark Platformer

2D physics

-

Hextris

\ No newline at end of file +

Hextris

+

Black hole raytracing

\ No newline at end of file